Wine - czyli jak uruchomić aplikację MS Windows na FreeBSD
Wzorowałem się na artykule Dru Lavigne'a - Running Windows Applications on FreeBSD, ale nie jest to dokładne tłumaczenie.
Wszystko czego potrzebujesz to maszyny z dwoma systemami: Windows 98 oraz FreeBSD 4.6.2-Release z zainstalowanymi X-ami i wine (może być jakiś menadżer okien Np, KDE lub Windowmaker, chociaż próbowałem z powodzeniem odpalić wszystko pod "gołymi" X-ami). Pobawimy się na 2 sposoby: 1 z wykorzystaniem partycji FAT i 2 bez niej.
Logujemy się na FreeBSD jako root i instalujemy z portów lub paczek najnowszą wersję Wine (obecnie wine-20020710). Po instalacji powinniśmy posiadać plik konfiguracyjny /usr/local/etc/wine.conf.sample.
Teraz kompilujemy nowe jądro z opcjami wymaganymi do poprawnej pracy wine i aplikacji jakie będziemy przez niego uruchamiali:
options SYSVSHM
options SYSVSEM
options SYSVMSG
W podstawowym pliku GENERIC brak tylko pierwszego wpisu, więc jeśli nie wyrzuci łeś ze swojego jądra tych opcji, wystarczy dopisać pierwszą i przekompilować ją dro na nowo. Po restarcie systemu możemy przystępujemy do pierwszego sposobu.
1. Tworzymy katalog /dos i montujemy na niego partycje FAT (oczywiście jako root).
# mount -t msdos /dev/ad0s1 /dos
Sprawdźmy również jaki mamy prawa dostępu do tego katalogu:
drwxr-xr-x 2 root wheel 512 May 01 13:07 dos
Wygląda nieźle, posiadamy jako zwykły użytkownik prawa czytania i uruchamiania, lecz nie posiadamy uprawnień do pisania (takie prawa ma tylko root). Możemy również dodać do /etc/fstab poniższą linijkę aby system przy każdym starcie montował tę partycję automatycznie:
/dev/ad0s1 /dos msdos rw 0 0
Sprawdźmy jeszcze czy FreeBSD "widzi" nasz FAT i czy my też go będziemy wiedzieli :)):
/dev/ad0s1 2.0G 783M 1.2G 38% /dos
# ls -P /dos
AUTOEXEC.BAT* COMMAND.COM* MSDOS.SYS* SCANDISK.LOG*
BOOT.INI* CONFIG.SYS* My Documents/ SETUPLOG.TXT*
BOOTLOG.PRV* DETLOG.TXT* NETLOG.TXT* WINDOWS/
IO.SYS* Program Files/ RECYCLED/
Jeżeli nigdy nie montowałeś partycji FAT pod FreeBSD, pamiętaj, że podczas poruszania się w katalogach z długimi nazwami ze spacją w środku, musisz postawić przed każdą spacją w nazwie "ukośnik w prawo" ;) czyli znak \., np.
lub
Stworzymy kopie domyślnego pliku i obejrzymy jego zawartość:
Prawdopodobnie plik konfiguracyjny nie posiada praw zapisu nawet dla root-a, ale zawsze możemy to zmienić:
# more /usr/local/etc/wine.conf
WINE REGISTRY Version 2
;; All keys relative to \\Machine\\Software\\Wine\\Wine\\Config
-ciach-
[Drive A]
"Path" = "/mnt/fd0"
"Type" = "floppy"
"Label" = "Floppy"
"Serial" = "87654321"
"Device" = "/dev/fd0"
[Drive C]
"Path" = "/c"
"Type" = "hd"
"Label" = "MS-DOS"
"Filesystem" = "win95"
-ciach-
Zatrzymujemy się tutaj, ponieważ widać kawałek, który zamierzamy zmienić, a mianowicie:
Zapisujemy zmiany i kopiujemy plik do katalogu zwykłego użytkownika:
# chown marpil /usr/home/marpil/.wine
# cp /usr/local/etc/wine.conf /usr/home/marpil/.wine config
Logujemy się jako zwykły użytkownik i startujemy X-y a potem xterm lub coś podobnego ;). Odpalamy wreszcie pierwszą sesje wine:
% ls PROGMAN.EXE
PROGMAN.EXE
% wine PROGMAN.EXE
I po paru chwilach nasze oczy cieszy znany menadżer okien jeszcze rodem z Windows 3.xx. Klikamy myszą na menu File i szukamy opcji Run, teraz z listy programów możemy wybrać np. calc.exe i szybko sprawdzamy czy na pewno 2*2=4 ;). Spod menadżera okien nieźle wygląda uruchomiony Winamp i nawet gra !! Można również pominąć Menadżera okien i uruchomić programik bezpośrednio z wine np:
% wine CALC.EXE
Listę dostępnych programów możesz sprawdzić i zassać z poniższych stron :
http://www.winehq.com/Apps
http://appdb.codeweavers.com
2. Bierzemy się za drugi sposób: bez partycji FAT.
Wcześniej jednak potrzebujemy skopiować wybrane programy do partycji unixowej i utworzyć odpowiednie katalogi (jako root):
# cd /usr/local/lib/win/windows
# mkdir system
# touch win.ini
# cd system
# touch shell.dll shell32.dll winsock.dll wsock32.dll
# cd /dos/WINDOWS
# cp CALC.EXE SOLSUITE.EXE /usr/local/lib/win/windows/
Utworzyliśmy również puste pliki, ponieważ niektóre aplikacje muszą je widzieć. Być może będziesz musiał powtórzyć operacje z ponownym zakładaniem podkatalogu ~/.wine i na nowo przekopiowania pliku wine.conf na config. Jeszcze dokonujemy małej zmiany w naszym pliku config, ale przedtem mała rzecz do zrobienia żeby nie było wątpliwości:
# vi /usr/home/marpil/.wine/config
i zamieniamy "Path" = "/dos" na "Path" = "/usr/local/lib/win/" a potem jako zwykły użytkownik:
% wine -winver win95 -managed CALC.EXE
..itd, itd.
PODSUMOWANIE: Metoda opisana powyżej nadaje się do uruchamiania zazwyczaj prostych aplikacji, chociarz np. Winword.exe z partycją FAT i poprzez Menadżera okien wygląda nieźle, można również podglądać dokumenty, ale tutaj nie będzie można edytować (problem z kodowaniem). Aby wystartować bardziej zawansowane aplikacje musicie przeczytać dokumentację dostarczoną z emulatorem WINE.
quex, pon., 25/02/2008 - 01:23
