pl_konfiguracja emulatora wine.pdf

(359 KB) Pobierz
25399953 UNPDF
WINE – I NSTRUKCJA INSTALACJI I KONFIGURACJI
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łeuuż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 urucha-
miania programów dla MS-Windows w systemach operacyjnych GNU/Linux i innych kompatybilnych z UNIX, na
komputerach kompatybilnych z Intel-x86; program ten możebyć 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żebyć 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/linu-
ksowe, 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ę, żemoż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 (16i 32
bitowych), w pewnym ograniczonym zakresie z WINE mogą być używane także programy dosowe. WINE urucha-
mia 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
- 2 -
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żewyko-
rzystywać 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łady-
strybucja Debiana 2.2 (P OTATO ) 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.
Wmię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żli-
wiającej bezpośrednie uruchomienie. Aktualne wersje można równieżściągnąć zróżnych stron internetowych.
Teoretycznie, po zainstalowaniu pakietu binarnego program powinien nadawać się do sensownej konfiguracji i naty-
chmiastowego 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 wyni-
kó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 ewentu-
alnie występujące błędy rzeczywiście istnieją w WINE, i czy nie zostałyjuż usunięte. Przez to zwiększa się prawdo-
podobień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ów-
nież 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:
Jądro Linuksa od wersji 2.2.x. (WINE można uruchomić takżezją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
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 ,jakinowsze libc6 . Decydująca jest z re-
guły nowsza wersja. Biblioteka C musi być współużytkowalna ( reentrable ), aby WINE mógł obsługiwać wielo-
wą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 .
Ponieważ WINE wykorzystuje X Window, wymagane są biblioteki X ,ijeśli WINE ma być kompilowane, narzędzia
programistyczne dla X. W Debianie biblioteki te zawiera pakiet xlib6g anarzędzia programistyczne pakiet
xlib6g-dev .
- 3 -
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 progra-
mistyczne dla tej biblioteki (pakiet libncurses5-dev ). Zastosowanie biblioteki ncurses jest jednak
opcjonalne.
Również opcjonalna jest obsługa biblioteki kompatybilnej z OpenGL ,jaknp. 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.
Do kompilacji WINE należyuż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órewwię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 diagnosty-
czne ( 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ęcwersję 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ę zsłowa wine i, oddzielonej
kreską, daty wydania danej wersji, a więcnaprzykł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 znaj-
dują 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 ,
imabyć 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
- 4 -
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 odpo-
wiednio 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łowegodostanurozwojuproje-
ktu, bez oczekiwania na nowe wydanie programu. Dla każdej osoby planującej współpracę przy projekcie zastoso-
wanie CVS jest konieczne. Aby móc używać CVS należy oczywiście zainstalować program cvs .W Debianiejest
on zawarty w pakiecie o tej samej nazwie. Po sprawdzeniu, że program jest zainstalowany, przy pomocy zmiennej
środowiskowej CVSROOT można określić,skądmabyć 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żyużyć hasło cvs .Potemmoż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 .Dalszeważne wskazówki odnośnie CVS i WINE dostępne są pod adre-
sem http://www.winehq.com/development/ .
6. Konfiguracja i kompilacja kodu źródłowego
Przy założeniu, żekodź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ć zróż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żeznaleźć ważnych danych czy właściwości systemu, możenastąpić komunikat błędu lub
ostrzegawczy. Takie błędy należy usunąć przed kontynuacją kompilacji kodu źródłowego.
Wnastępnym etapie odbywa się kompilacja kodu źródłowego. W tym celu należyuż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 prze-
strzeni dla kompletnej kompilacji. Większa część tej przestrzeni wymagana jest przez przy tym przez informacje
- 5 -
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żezostać 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, żeokreślone biblioteki nie mogą
zostać załadowane, należywpisać 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żebyć 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,
wmiejscewartości należywpisać 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 .
Zgłoś jeśli naruszono regulamin