{ }
menu zespół linki Logowanie
Stabilny hosting
BSDGuru zawdzięcza
firmie Datanet.pl
Hosting BSDGuru.org - DataNet.pl

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 USER_LDT
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).

# mkdir /dos
# mount -t msdos /dev/ad0s1 /dos

Sprawdźmy również jaki mamy prawa dostępu do tego katalogu:

# ls -l / | grep dos
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 :)):

# df -h | grep dos
/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.

# cd /dos/Program\ Files/

lub

# cd /dos/Windows/Temporary\ Internet\ Files/

Stworzymy kopie domyślnego pliku i obejrzymy jego zawartość:

# cp /usr/local/etc/wine.conf.sample /usr/local/etc/wine.conf

Prawdopodobnie plik konfiguracyjny nie posiada praw zapisu nawet dla root-a, ale zawsze możemy to zmienić:

# chmod 644 /usr/local/etc/wine.conf
# 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:

"Path" = "/c"    na     "Path" = "/dos"

Zapisujemy zmiany i kopiujemy plik do katalogu zwykłego użytkownika:

# mkdir /usr/home/marpil/.wine
# 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:

% cd /dos/WINDOWS/
% 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:

% cd /dos/WINDOWS/
% 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):

# mkdir -p /usr/local/lib/win/windows
# 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:

# umount /dev/ad0s1
# vi /usr/home/marpil/.wine/config

i zamieniamy "Path" = "/dos" na "Path" = "/usr/local/lib/win/" a potem jako zwykły użytkownik:

% cd /usr/local/lib/win/windows/
% 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.

Autor: 
Mariusz Pilipczuk
Porozmawiaj o tym artykule na forum: 

quex, pon., 25/02/2008 - 01:23