Wine_1PL.doc

(220 KB) Pobierz
Wine - Instrukcja instalacji i konfiguracji

Wine - Instrukcja instalacji i konfiguracji


Bardzo obszerne opracowanie obejmujące wszelkie aspekty instalacji, konfiguracji i użytkowania Wine (WINE jest środowiskiem czasu rzeczywistego do uruchamiania programów dla MS-Windows). Tłumaczenia z języka niemieckiego dokonał Wojciech Kapusta.

Installations - und Bedienungsanleitung für WINE

Peter Ganten
peter@ganten.org
7 lipca 2000

przekład z języka niemieckiego:

Wojciech Kapusta
w_kapusta@poczta.onet.pl
20 lutego 2003

Od tłumacza

Niniejsza instrukcja pochodzi z pakietu wine-20021007.i386.rpm, zawarta jest w pliku installation-und-konfiguration.german. Przy tłumaczeniu nie dokonano żadnych zmian w treści, za wyjątkiem zmiany tytułu instrukcji (dosłownie: Instrukcja instalacji i obsługi dla WINE) oraz zmiany nazw kilku przykładowych osobistych katalogów i plików. Autor niniejszego przekładu nie jest zawodowym informatykiem i nie wnika w merytoryczną poprawność tego opracowania.

Zastrzeżenia prawne:

Niniejszy przekład może być swobodnie i nieodpłatnie kopiowany, przekazywany i publikowany, oraz używany bez żadnych opłat zarówno do celów prywatnych jak i komercyjnych. Publikacje tego przekładu w mediach komercyjnych dozwolone są tylko za zgodą autora. Jeśli twórcy programu WINE uznają to za stosowne, mogą dołączać ten przekład do pakietów WINE bez żadnego wynagrodzenia dla autora. Autor niniejszego przekładu nie ponosi odpowiedzialności za jakiekolwiek szkody bezpośrednie czy następcze, powstałe u użytkowników w wyniku jego zastosowania, w szczególności za następstwa sporów prawnych wynikających z ewentualnego naruszenia umów licencyjnych dla oprogramowania.

 

1   Streszczenie

Tekst ten opisuje instalację, konfigurację i obsługę WINE. WINE jest środowiskiem czasu rzeczywistego do uruchamiania programów dla MS-Windows w systemach operacyjnych GNU/Linux i innych kompatybilnych z UNIX, na komputerach kompatybilnych z Intel-x86; program ten może być również wykorzystywany do przenoszenia na UNIX kodu źródłowego istniejących programów windowsowych. W opracowaniu tym chodzi jednak głównie o instalację i konfigurację środowiska czasu rzeczywistego dla programów windowsowych. Tekst ten był pierwotnie napisany jako materiał do wykładu o WINE i integracji aplikacji widowsowych pod GNU/Linux, na Dni Linuksowe 2000 - 30 czerwca do 2 lipca 2000 w Stuttgarcie.

 

2   Wprowadzenie

WINE jest daleko idącym przyczynkiem do integracji aplikacji windowsowych pod GNU/Linux. WINE składa się m.in. programu ładującego (loadera), przy pomocy którego programy windowsowe i dosowe mogą być załadowane do pamięci i wykonane przez procesor komputera. Poza tym program ten udostępnia dużą część interfejsów (API) systemów operacyjnych opierających się na Windows. Interfejsy te wykorzystywane są przez programy widowsowe, uruchamiane przez WINE, tak że te programy znajdują to samo, oczekiwane środowisko, jak pod Windows. Ponieważ interfejsy te znajdują się w WINE i ich definicje istnieją w formie plików nagłówkowych (header file), WINE może być również wykorzystywany do przenoszenia kodu źródłowego programów windowsowych do GNU/ Linux czy innych systemów operacyjnych opartych na UNIX. Powstają wtedy prawdziwe programy uniksowe/linuksowe, mające tę samą funkcjonalność jak ich odpowiedniki pod Windows. Zastosowanie jednolitego interfejsu API pod Windows i Linuksem ma dla twórcy oprogramowania tę zaletę, że można projektować i rozwijać tylko jedną wersję kodu źródłowego, która może być używana w obu rodzinach systemów operacyjnych.

Projekt WINE został zapoczątkowany w 1993 roku, prowadzony jest głownie przez ochotników, komunikujących się między sobą przez listy dyskusyjne. W ostatnich czasach projekt WINE uzyskał dodatkowe wsparcie przez liczne przedsiębiorstwa komercyjne, stosujące WINE do przenoszenia swoich programów windowsowych na GNU/ Linux. Dziś WINE jest w stanie uruchomić pod Linuksem większość istniejących programów windowsowych (16 i 32 bitowych), w pewnym ograniczonym zakresie z WINE mogą być używane także programy dosowe. WINE uruchamia programy windowsowe bezpośrednio spod Linuksa, nie są do tego wymagane żadne specjalne rozszerzenia jądra, żadne szczególne uprawnienia, ani nie musi istnieć instalacja Windows. Projekt pozwala na uruchamianie programów pod Linuksem tak samo szybko jak pod Windows, ponieważ nie ma tu miejsca emulacja w rozumieniu interpretacji poleceń dla procesora. W celu uruchomienia określonego programu pod GNU/Linux przy pomocy WINE wymagane są teoretycznie takie same zasoby systemowe, jak pod Windows. Opcjonalnie WINE może wykorzystywać istniejącą instalację Windows. Możliwe jest wtedy przejmowanie ustawień tej instalacji dla programów windowsowych i wykorzystywanie przez WINE oryginalnych części składowych Windows, które w WINE jeszcze nie są dostępne w wystarczającym stopniu.

Poniżej opisano, jak można zainstalować i skonfigurować WINE w systemie GNU/Linux. Punktem wyjścia była dystrybucja Debiana 2.2 (POTATO) i wersja WINE 20000614. Później treść została dopasowana do nowszych wersji WINE (200105xx). W przypadku stosowania innej dystrybucji Linuksa czy innej wersji WINE należy odpowiednio dopasować opisane postępowanie.

W międzyczasie ukazał się w Debianie perfekcyjnie dopasowany pakiet WINE „wine“ Ove Kaavena, który razem z „winesetuptk“ może być używany z dziecięcą łatwością.

 

3   Pakiet binarny czy kod źródłowy?

Większość dystrybucji Linuksa zawiera dzisiaj pakiety WINE. Są to binaria, zawierające WINE w formie umożliwiającej bezpośrednie uruchomienie. Aktualne wersje można również ściągnąć z różnych stron internetowych. Teoretycznie, po zainstalowaniu pakietu binarnego program powinien nadawać się do sensownej konfiguracji i natychmiastowego użycia. W rzeczywistości, w wielu przypadkach konieczna jest zmiana konfiguracji zainstalowanej z pakietem.

Z powodu szybkiego rozwoju WINE zaleca się obecnie stosowanie kodu źródłowego zamiast pakietów binarnych. Po zdobyciu kodu źródłowego należy go rozpakować, skonfigurować i skompilować. Powstaje wtedy plik binarny, dokładnie dopasowany do posiadanego systemu i oferujący dlatego wyższe prawdopodobieństwo optymalnych wyników, niż w przypadku pakietów binarnych, stworzonych dla inaczej skonfigurowanego systemu. Użycie kodu źródłowego daje poza tym możliwość stosunkowo łatwej aktualizacji programu, przy czym nie zawsze trzeba pobierać kompletnego pakietu. Ponadto, przez użycie aktualnego kodu źródłowego można stwierdzić, czy ewentualnie występujące błędy rzeczywiście istnieją w WINE, i czy nie zostały już usunięte. Przez to zwiększa się prawdopodobieństwo wysyłania sensownych raportów błędów do twórców WINE.

Instalacja pakietów binarnych zależy od systemu pakietów dystrybucji (najczęściej jest to rpm lub deb), jak również od samej dystrybucji. Informacje wymagane do instalacji powinny znajdować się w dokumentacji używanej dystrybucji. W niniejszym opracowaniu opisana jest instalacja WINE z kodu źródłowego.

 

4   Wymagania systemowe

Aby WINE mógł być skompilowany i uruchomiony, w systemie muszą być zainstalowane następujące programy i pliki:

  1. Jądro Linuksa od wersji 2.2.x. (WINE można uruchomić także z jądrem w wersji 2.0.x, jednak te jądra nie obsługują pewnych właściwości, wymaganych przez WINE. Jest to zauważalne szczególnie wtedy, jeśli przy pomocy WINE mają być uruchamiane 32 bitowe programy windowsowe, w których jednocześnie wykonywanych jest kilka wątków (threads)). Numer wersji aktualnie używanego jądra wyświetlany jest po wpisaniu w konsoli polecenia:

uname -r

  1. Zaleca się stosowanie biblioteki C GNU (libc6), w wersji od 2.1. Numer wersji aktualnie używanej biblioteki C może być wyświetlony po wpisaniu następującego polecenia:

ls -l /lib/libc.so.*

W niektórych systemach istnieją zarówno starsze biblioteki C libc5, jak i nowsze libc6. Decydująca jest z reguły nowsza wersja. Biblioteka C musi być współużytkowalna (reentrable), aby WINE mógł obsługiwać wielowątkowość (multithreading). Ma to miejsce w wszystkich nowszych dystrybucji Linuksa. Biblioteka C znajduje się w pakiecie libc6. Do kompilacji WINE wymagane są dodatkowo narzędzia programistyczne do biblioteki C. W Debianie znajdują się one w pakiecie libc6-dev.

  1. Ponieważ WINE wykorzystuje X Window, wymagane są biblioteki X, i jeśli WINE ma być kompilowane, narzędzia programistyczne dla X. W Debianie biblioteki te zawiera pakiet xlib6g a narzędzia programistyczne pakiet xlib6g-dev.
  2. Dla programów, które mają być uruchamiane w trybie tekstowym, WINE może wykorzystywać bibliotekę libncurses. Aby wkompilować w program obsługę dla nich, muszą być zainstalowane narzędzia programistyczne dla tej biblioteki (pakiet libncurses5-dev). Zastosowanie biblioteki ncurses jest jednak opcjonalne.
  3. Również opcjonalna jest obsługa biblioteki kompatybilnej z OpenGL, jak np. Mesa. Jeśli w program ma być wkompilowana obsługa OpenGL, w systemie muszą być zainstalowane narzędzia programistyczne OpenGL, np. udostępniane przez pakiet mesag-dev. Dodatkowo są oczywiście wymagane same biblioteki OpenGL.
  4. Do kompilacji WINE należy użyć kompilatora C GNU. Obecnie zaleca się wersję 2.95. Ponadto potrzebnych jest kilka standardowych narzędzi, jak make, (f)lex, yacc czy bison, które w większości systemów linuksowych powinny być już zainstalowane.

Zależnie od tego, czy w kodzie wykonywalnym, który ma być otrzymany, mają być zawarte informacje diagnostyczne (debugging informations), do kompilacji i instalacji WINE potrzeba między ok. 100 MB a 250 MB przestrzeni na dysku. Odnośnie procesora komputera nie stawia się żadnych specjalnych wymagań, wystarczający jest procesor klasy Pentium 133 MHz do uruchamiania np. edytorów tekstu. Jednak dla gier i innych aplikacji multimedialnych wymagany jest z reguły szybszy procesor. Ważne jest, aby komputer miał wystarczającą ilość pamięci operacyjnej (RAM). Do uruchamiania większych programów windowsowych komputer powinien być wyposażony w 64 MB RAM.

 

5   Zdobycie i instalacja kodu źródłowego

WINE można pobrać z Internetu z różnych serwerów, przez FTP albo HTTP. Aktualny kod źródłowy można znaleźć między innymi pod następującymi adresami:

ftp://metalab.unc.edu/pub/Linux/ALPHA/wine/development/
ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/
ftp://orcus.progsoc.uts.edu.au/pub/wine/development/
http://metalab.unc.edu/pub/Linux/ALPHA/wine/development/

Przy rozwijaniu WINE nie stosuje się obecnie numerów wersji. Zamiast tego każde wydanie oznaczone jest liczbą, odpowiadającą dacie wydania danej wersji, wg schematu: rok, miesiąc, dzień.

Plik Wine-20000614.tar.gz z jednego z wyżej wymienionych adresów zawiera więc wersję WINE, wydaną 14 czerwca 2000. Zasadniczo zaleca się stosowanie najnowszej wersji. Po pobraniu kodu źródłowego, można go rozpakować do katalogu bieżącego przez wydanie następującego polecenia:

tar -xvzf Wine-20000614.tar.gz

Przy tym Wine-20000614.tar.gz należy naturalnie zastąpić aktualną nazwą ściągniętego pliku. Kod źródłowy rozpakowywany jest do podkatalogu katalogu bieżącego, którego nazwa składa się z słowa wine i, oddzielonej kreską, daty wydania danej wersji, a więc na przykład: wine-20000614. Zaleca się zmianę nazwy tego katalogu na wine, co można wykonać przy pomocy polecenia:

mv wine-20000614 wine

 

5.1   Aktualizacja kodu źródłowego za pomocą łatek

Obok skompresowanych archiwów .tar, zawierających kod źródłowy WINE, pod wymienionymi adresami znajdują się również tzw. pliki łatek, zawierające jedynie zmiany, które zostały opracowane pomiędzy poszczególnymi dwoma wydaniami WINE. Pliki te są normalnie o wiele mniejsze niż kompletny kod źródłowy, tak że poleca się ich stosowanie, przy aktualizacji programu z jednej wersji do następnej. Jeśli zainstalowany jest np. Wine-20000526, i ma być zaktualizowany do Wine-20000614, należałoby pobrać plik WINE-20000614.diff.gz. Zmiany opisane w tym pliku można zastosować do zainstalowanego kodu źródłowego; w tym celu najpierw należy przejść do katalogu zawierającego kod źródłowy (a więc do katalogu wine, założonego w wyżej opisany sposób) a następnie wywołać program aktualizujący patch:

gunzip -c ../Wine-20000614.diff.gz | patch -p1

Zakłada się przy tym, że plik łatki znajduje się w katalogu nadrzędnym do katalogu zawierającego WINE (wine), i że nosi on nazwę Wine-20000614.diff.gz. Nazwę pliku w podanym poleceniu wzgl. ścieżkę należy odpowiednio dopasować, jeśli używany jest plik o innej nazwie lub aktualizację przeprowadza się z innego katalogu.

 

5.2   Pobieranie i aktualizacja WINE przy pomocy CVS

Alternatywnie można zainstalować kod źródłowy z serwera CVS projektu WINE. Zaletą tego sposobu jest, że w każdej chwili jest możliwe nieskomplikowane dopasowanie własnego kodu źródłowego do stanu rozwoju projektu, bez oczekiwania na nowe wydanie programu. Dla każdej osoby planującej współpracę przy projekcie zastosowanie CVS jest konieczne. Aby móc używać CVS należy oczywiście zainstalować program cvs. W Debianie jest on zawarty w pakiecie o tej samej nazwie. Po sprawdzeniu, że program jest zainstalowany, przy pomocy zmiennej środowiskowej CVSROOT można określić, skąd ma być pobierany wzgl. aktualizowany kod źródłowy. W przypadku stosowania powłoki bash można w tym celu wprowadzić następujące polecenie:

export CVSROOT=:pserver:cvs@cvs.winehq.com:/home/wine

Następnie można się zarejestrować na serwerze CVS. Do tego celu służy polecenie:

cvs login

Program pyta o hasło dostępu do serwera. Należy użyć hasła cvs. Potem można pobrać kod źródłowy z serwera, wydając następujące polecenie:

cvs -z 3 checkout wine

W katalogu bieżącym tworzony jest podkatalog o nazwie wine. Po zakończeniu wykonywania polecenia w katalogu tym znajdują się aktualny kod źródłowy projektu i kilka dodatkowych plików, wymaganych przez CVS.

W celu uaktualnienia stanu kodu źródłowego można użyć następującego polecenia:

cvs -z 3 update -PAd WINE

Informacje o używanych tu parametrach przy wywoływaniu CVS oraz o innych możliwościach tego programu znajdują się m.in. w podręczniku systemowym dla cvs(1) jak również na stronie internetowej CVS, pod adresem http://www.sourcegear.com/CVS. Dalsze ważne wskazówki odnośnie CVS i WINE dostępne są pod adresem http://www.winehq.com/development/.

 

6   Konfiguracja i kompilacja kodu źródłowego

Przy założeniu, że kod źródłowy znajduje się w podkatalogu wine katalogu bieżącego, należy najpierw przejść do tego podkatalogu, aby móc przeprowadzić dalsze działania:

cd wine

Następnie można wywołać skrypt configure. Skrypt ten przeprowadza szereg testów, sprawdzających m.in. czy system spełnia wszystkie konieczne warunki i czy zainstalowane są wymagane narzędzia programistyczne. Następnie tworzy on pliki, przez które sterowana jest kompilacja kodu źródłowego. Skrypt ten można uruchomić z różnymi parametrami, przy pomocy których można np. określić, że w tworzonych programach i bibliotekach nie mają być zawarte informacje diagnostyczne (debug). Pełna lista opcji dostępnych dla configure wyświetlana jest po wywołaniu skryptu z opcją --help. Normalnie wystarcza wywołanie tego skryptu w następujący sposób:

./configure

Jeśli configure nie może znaleźć ważnych danych czy właściwości systemu, może nastąpić komunikat błędu lub ostrzegawczy. Takie błędy należy usunąć przed kontynuacją kompilacji kodu źródłowego.

W następnym etapie odbywa się kompilacja kodu źródłowego. W tym celu należy użyć kolejno po sobie następujących poleceń:

make depend
make

Na partycji, na której znajduje się katalog z kodem źródłowym, wymagane jest tymczasowo około 230 MB przestrzeni dla kompletnej kompilacji. Większa część tej przestrzeni wymagana jest przez przy tym przez informacje diagnostyczne (debug) w plikach wynikowych (object files), tworzonych podczas kompilacji. Jeśli nie zamierza się badać błędów w WINE, pliki binarne mogą być tworzone również bez informacji diagnostycznych; w tym celu drugie z wyżej wymienionych poleceń należy zastąpić poleceniem podanym niżej (wtedy do kompilacji wymagane będzie tylko około 80 MB pamięci dyskowej).

make CFLAGS="-O2"

Teraz WINE może zostać zainstalowany w systemie. W tym celu należy, z uprawnieniami administratora, wydać polecenie:

make install

W wyniku tego wykonywalne programy WINE zostają standardowo zainstalowane w katalogu /usr/local/bin, biblioteki programu w katalogu /usr/local/lib, strony podręcznika w katalogu /usr/local/man, a niektóre pliki nagłówkowe w katalogu /usr/local/include/wine.

Uwaga:
W niektórych dystrybucjach (np. w Debianie), system standardowo nie poszukuje bibliotek programów w katalogu /usr/local/lib. Jeśli przy uruchomieniu WINE otrzymuje się komunikat, że określone biblioteki nie mogą zostać załadowane, należy wpisać nazwę tego katalogu w pliku /etc/ld.so.conf (w oddzielnej linii) a potem wywołać program ldconfig.

 

7   Konfiguracja

Jak wiele programów uniksowych, WINE może być konfigurowany przez jeden plik konfiguracyjny, obowiązujący dla całego systemu, albo przez plik użytkownika w jego katalogu domowym. Plik konfiguracyjny użytkownika nosi nazwę ~/.wine/config.

 

7.1   Budowa pliku konfiguracyjnego

Format pliku podobny jest do znanych z Windows plików *.ini, jednak jest trochę zmieniony, na format Wine-Registry. Plik składa się z pojedynczych bloków (sekcji), które rozpoczynają się od identyfikatorów, znajdujących się w nawiasach prostokątnych i oddzielnych liniach. Wewnątrz sekcji znajdują się pary zmiennych i wartości, połączone ze sobą znakiem równości. Pary te również znajdują się w oddzielnych liniach. Komentarze wprowadzane są do pliku przez znak średnika. Poza tym można używać pustych linii, dla podkreślenia struktury pliku. Przykładem takiej sekcji może być:

[Drive C]
"Path" = "/home/karol"
"Type" = "hd"
"Label" = "Dysk.C"
"Filesystem" = "win95"

Poza tym możliwe jest wykorzystywane w pliku konfiguracyjnym wartości zmiennych środowiskowych. W tym celu, w miejsce wartości należy wpisać nazwę zmiennej środowiskowej w nawiasie klamrowym i poprzedzić ją znakiem dolara. Jeśli zmiennej Path z powyższego przykładu miałaby być przyporządkowana wartość, którą w chwili wykonywania WINE ma zmienna środowiskowa HOME, odpowiednia linia powinna być zapisana następująco:

"Path" = "${HOME}"

W katalogu głównym kodu źródłowego WINE, w pliku documentation/samples/config, znajduje się przykład, mogący służyć jako szablon do stworzenia własnego pliku konfiguracyjnego. Plik ten zawiera wszystkie ważne sekcje i zmienne, musi być jednak dopasowany do własnej konfiguracji użytkownika, przed pierwszym użyciem WINE. Przy założeniu, że katalog kodu źródłowego WINE ma nazwę wine i jest podkatalogiem katalogu domowego, szablon ten może zostać skopiowany na właściwe miejsce przy pomocy następującego polecenia:

cp ~/wine/documentation/samples/config ~/.wine/config

Wartości, które zostają przyporządkowane zmiennym w pliku konfiguracyjnym, można podzielić na trzy typy: łańcuchy znaków, liczby i wartości logiczne. W przypadku wartości logicznych można wprowadzać true albo false, 1 albo 0 względnie yes albo no. W poniższych przykładach stosuje się zapis true / false.

 

7.2   Konfiguracja liter napędów

Między Uniksem / Linuksem z jednej strony a DOS i Windows z drugiej ma miejsce parę różnic w sposobie oznaczania nośników danych i plików. W Uniksie / Linuksie istnieje system plików z jednym katalogiem głównym - root (/), z którym związane są różne nośniki danych przez specjalne polecenie (mount). Wszystkie pliki na związanych nośnikach danych mogą być dlatego używane w obrębie tego systemu plików. DOS i Windows stosują jednak dla każdego rozpoznanego nośnika danych własny system plików. W celu jednoznacznego określenia danego pliku w tych systemach jest konieczne podawanie, obok ścieżki dostępu i nazwy pliku, tak zwanej litery napędu. Przeważnie litera napędu A odpowiada pierwszemu napędowi dyskietek a litera C pierwszej partycji dysku twardego systemu.

Ponieważ programy, które są napisane dla DOS czy Windows, używają liter napędów do określania plików, WINE musi odwzorować te litery w uniksowym systemie plików. Problem został rozwiązany w następujący sposób: w pliku konfiguracyjnym (~/.wine/config) każdej literze napędu przyporządkowuje się katalog w uniksowym systemie plików. Katalog ten przedstawia (z punktu widzenia programów windowsowych) katalog główny odpowiedniego napędu. Jeśli więc przykładowo katalog /var/winroot został przyporządkowany literze napędu C i program windowsowy pod WINE będzie próbował otworzyć plik C:\Dokumenty\urz-skarbowy.doc, w rzeczywistości zostanie otwarty plik /var/winroot/Dokumenty/urz-skarbowy.doc, po...

Zgłoś jeśli naruszono regulamin