Download: CoverWine

Transkrypt

Download: CoverWine
Emulatory środowiska Windows
TEMAT MIESIĄCA
Wine, Crossover Office, Cedega
LAMPKĘ WINA?
Nie ma lepszego sposobu na uruchomienie
aplikacji windowsowej w Linuksie
niż użycie programu Wine.
Porównaliśmy dostępne publicznie
oraz komercyjne odmiany tego oprogramowania,
oceniając ich działanie w praktycznych zastosowaniach.
BERND VILLIGER, OLIVER FROMMEL I JÖRG LUTHER
W
1993 r. programiści Sun Microsystems opracowali niewielkie
narzędzie do uruchamiania aplikacji Windows w systemie Solaris w sposób
bezpośredni, tzn. bez rekompilacji. W kilka
miesięcy później dokonano pierwszej próby
uruchomienia tego narzędzia w systemach
BSD i Linux; w ten sposób narodził się projekt, który teraz nosi nazwę Wine. Nazwa Wine jest charakterystycznym dla tradycji oprogramowania GNU akronimem rekursywnym
i oznacza „Wine is not an Emulator” (Wine
nie jest emulatorem).
I rzeczywiście, Wine [1] nie jest emulatorem w technicznym znaczeniu tego słowa.
Narzędzie to ani nie emuluje innego typu
procesora, ani – w ścisłym znaczeniu tego pojęcia – systemu operacyjnego. Tworzy natomiast warstwę pośrednią między systemem
Linux a uruchamianą aplikacją Windows.
Przechwytuje wszystkie windowsowe wywołania API wykonywane przez aplikację i stara się zamienić je na odpowiedniki dostępne
w systemie uniksowym i bibliotekach X11.
Z technicznego punktu widzenia Wine jest
programem ładującym (ładuje i uruchamia
programy Windows) wzbogaconym o pakiet
bibliotek tłumaczących lub emulujących wywołania API.
Większość problemów z oprogramowaniem Wine wiąże się właśnie z jego rolą pośrednika między aplikacjami Windows a Linuksem. Tłumaczenie jest tylko na tyle dobre, na ile dobrze tłumacz zna źródłowe i docelowe język i kulturę. Wszyscy wiemy, że
Microsoft niechętnie udziela informacji
o wewnętrznych mechanizmach systemu
operacyjnego i aplikacji. Ale Microsoft nie
jest odosobniony w tej postawie; także inne
firmy niechętnie przenoszą swoje produkty
na Linuksa.
Przykładem oprogramowania, które nie
zostało przeniesione na Linuksa, jest Acrobat Professional firmy Adobe i właśnie ten
produkt spróbujemy uruchomić w naszej testowej instalacji. Do testów wykorzystano
laptopa HP z procesorem Pentium 4 1,7 GHz
i 256 megabajtami RAM-u i systemem operacyjnym Suse Linux 9.0 Professional.
Ramka 1: Usuwanie Wine
Nie należy próbować instalować kilku różnych wersji Wine jednocześnie. Przed zainstalowaniem nowej wersji trzeba usunąć
poprzednią.
Najpierw sprawdzamy, która wersja jest zainstalowana w systemie:
# rpm -qa | grep -i wine
wine-20040505-1
Polecenie zwraca numer wersji i ten numer
powinniśmy umieścić w poleceniu usuwającym pakiet. W naszym przykładzie usunięcie
programu oznacza więc wpisanie: rpm -e wine-20040505-1. Następnie usuwamy katalogi, które Wine tworzy dla każdego konta:
# rm -rf /root/.wine
# rm -rf /home/user/.wine
[...]
Instalacja Wine
Wszystkie znane dystrybucje zawierają standardowo oprogramowanie Wine, choć zazwyczaj nie jest ono domyślnie instalowane. Aby
określić, czy oprogramowanie Wine jest zainstalowane w dystrybucji posiadającej menedżer RPM, należy wydać następujące polecenie:
WWW.LINUX-MAGAZINE.PL
Na tym etapie wszystkie pozostałości po starym Wine powinny być już wykasowane.
Opisane wyżej czynności należy wykonać
także wtedy, gdy chcemy usunąć niewłaściwie zainstalowane lub niedziałające oprogramowanie Wine.
NUMER 16 MAJ 2005
19
TEMAT MIESIĄCA
Emulatory środowiska Windows
rpm -qa | grep -i wine
Jeśli pakiet Wine jest zainstalowany, powinniśmy zobaczyć komunikat w rodzaju wine-20040505-1 (Suse 9.0) lub wine-200408137 (Suse 9.2). Jak widać, w przypadku oprogramowania Wine numerem wersji jest po
prostu data wydania.
W razie zlokalizowania w systemie starszej wersji, warto uaktualnić ją do ostatnie-
go wydania (2005). Nie jest to trudne, a ponadto nowa wersja najczęściej dostarczana
jest w gotowej do używania konfiguracji.
Jednak żeby uniknąć problemów, musimy
pamiętać o odinstalowaniu poprzedniej
wersji Wine (Ramka 1, „Usuwanie Wine”).
Instalacja również nie powinna przedstawiać trudności. Najpierw pobieramy bieżący
pakiet (ok. 12 MB) z serwisu WineHQ [2].
Następnie jako root wydajemy następujące
polecenia (przykład dla Suse 9.0):
#rpm -ivh wine-20050111-U
SuSELinux90.i586.rpm
Preparing... U
######################## [100%]
1:wine... ########################U
[100%]
Dodatkowym efektem powyższego polecenia jest także skonfigurowanie oprogramowania Wine. Aby przejrzeć lub zmodyfikować ustawienia, wystarczy uruchomić narzędzie winecfg, które umożliwia m.in.
przejrzenie i zmodyfikowanie liter przypisanych napędom.
Instalujemy aplikacje
Windows
Możemy przejść do zainstalowania pierwszej
aplikacji Windows. Na potrzeby testu wybraliśmy popularną aplikację, która nie jest oficjalnie obsługiwana przez oprogramowanie
Wine: Adobe Acrobat 5.
Jako źródło oprogramowania stosujemy
dysk CD. W testowym systemie napęd CD-ROM ma literę „Z:”, więc proces instalacji
uruchamiamy poleceniem:
wine 'Z:\media\cdrom\Acrobat 5\U
Setup.exe'
Rysunek 1: Osobliwy widok: instalator oprogramowania Windows pod Linuksem.
Pamiętamy o windowsowym sposobie
zapisu ścieżki (nazwa napędu i odwrotne
ukośniki). Ścieżka musi być umieszczona
w parze apostrofów lub cudzysłowie,
w przeciwnym razie powłoka niewłaściwie zinterpretuje występujące w ścieżce
odstępy.
Instalacja programu Adobe Acrobat (Rysunek 1) zajęła nam ok. 15 minut, a przecież to tylko jedna aplikacja. Ale warto było
czekać. Po zainstalowaniu programu wystarczyło wydać polecenie
wine 'C:\Program Files\Adobe\U
Acrobat.exe'
Rysunek 2: Adobe Acrobat, choć nieobsługiwany oficjalnie przez Wine, współpracuje z Linuksem.
20
NUMER 16 MAJ 2005
WWW.LINUX-MAGAZINE.PL
Jak widać na Rysunku 2, aplikacja Adobe
Acrobat zadziałała.
Trzeba przyznać, że nie z wszystkimi
aplikacjami poszło tak dobrze. Próba zainstalowania NetObjects Fusion (inny program, który nie jest oficjalnie obsługiwany)
nie powiodła się, ponieważ do zainstalowania aplikacji wymagana jest obecność
w systemie programu Internet Explorer.
Emulatory środowiska Windows
TEMAT MIESIĄCA
Rysunek 3: Po zakończeniu prostego procesu
instalacji oprogramowanie Crossover Office
można od razu konfigurować.
Rysunek 5: Skąd wiemy, czy ikona restartu
oznacza przeładowanie systemu, czy może
Rysunek 4: Instalacja i konfiguracja odbywają się w głównym oknie pakietu Crossover Office.
coś bardziej drastycznego?
Alternatywa:
Crossover Office
określone w zakładce Fonts głównego okna;
rozwiązanie problemu wymaga więc tylko
pobrania wymaganych czcionek.
I znów próbujemy zainstalować program
Adobe Acrobat Professional 5.0. Tym razem
wystarczy kliknąć przycisk Install na zakładce Add/Remove. W nowym oknie należy wybrać opcję Unsupported Software (nieobsługiwane oprogramowanie) i wskazać źródło instalacji (zazwyczaj /media/cdrom).
Po zainstalowaniu aplikacji można ją uruchomić albo z zakładki Menus głównego okna
Crossover, albo z wiersza poleceń przez wpisanie:
Ci, którzy chcą korzystać z Wine w środowisku produkcyjnym, powinni zainteresować
się pakietem Crossover Office firmy CodeWeavers [3]. Ta komercyjna odmiana Wine
kosztuje od 39,95 (wersja standardowa) do 69
USD (wieloużytkownikowa wersja profesjonalna). Oprogramowanie Crossover Office
posiada graficzny interfejs i jest w ogóle bardziej przyjazne. Ma jednak tę samą podstawową wadę co Wine, o której można przeczytać w Ramce 2, „Wine nie jest emulatorem”.
Właściwie więc Crossover Office Standard
jest nakładką ułatwiającą korzystanie z technologii Wine.
Zobaczmy najpierw, jak Crossover poradzi sobie w praktyce – znów spróbujemy zainstalować naszego Acrobata. Na potrzeby
artykułu użyliśmy wersji demonstracyjnej
pakietu Crossover, działającej przez miesiąc od pobrania; aby ją pobrać, konieczne
jest wcześniejsze zarejestrowanie się w serwisie.
Instalacja jest nietypowa, ale skuteczna.
Uruchamiamy po prostu skrypt o nazwie
install-crossover-standardU
-demo-4.1.sh
Kolejne kroki instalacji nie wymagają wyjaśnień. W większości przypadków wystarczy
po prostu zaakceptować domyślną konfigurację. Po zakończeniu powinniśmy ujrzeć
główne okno programu (Rysunek 4).
Podczas testów zwróciliśmy uwagę tylko
na jedną niedogodność: żeby uniknąć konfliktów na późniejszym etapie, konieczne jest
zainstalowanie typowych czcionek systemu
Windows. Domyślne ustawienia zostały już
Ramka 2: Wine nie jest emulatorem
W przeciwieństwie do Wine, prawdziwy emulator tworzy wyizolowany obszar symulujący
komputer. Do korzystania z takiego symulatora może być konieczne nawet zainstalowanie
całego systemu operacyjnego. Następnie
można w nim zainstalować dowolną aplikację
napisaną dla tego systemu. Głównymi wadami takiego rozwiązania są niska wydajność
(symulowanie całego komputera) oraz duże
koszty licencji (w wirtualnej maszynie musimy
zainstalować kompletny system operacyjny).
W Wine zastosowano alternatywne podejście: zamiast symulować cały system operacyjny, program ten „udaje” tylko przed apli-
kacją te elementy środowiska, które potrzebne są jej do pracy. Stąd i termin stosowany
wewnętrznie w konfiguracji Wine: „fake windows” (niby-Windows).
# ls -a /home/user/.wineU
dosdevices fake_windows [...]
Struktura danych w katalogu Wine przypomina tę, którą znamy z „okienek”. Przypomina,
ale nie jest identyczna – i to jest właśnie podstawowy problem architektury Wine. Aplikacje próbujące uzyskać dostęp do specyficznych elementów systemu Windows często
trafiają w pustkę.
WWW.LINUX-MAGAZINE.PL
~/cxoffice/bin/acrobat
Nie ma potrzeby zmieniać ustawienia wersji Windows. Programy Windows najlepiej
działają przy ustawieniu domyślnym. Zazwyczaj nie udaje się uruchomić (a przynajmniej
zapewnić płynnego działania) aplikacji Windows wymagających systemu Windows NT
4 lub 5 (Windows 2000); w naszym przypadku dowodem była nieudana instalacja programu Adobe Acrobat 6 - instalator Windows
natychmiast awaryjnie kończył działanie.
W przeciwieństwie do Wine, restart systemu w aplikacji Crossover Office jest bardzo
łatwy. Wystarczy wpisać następujące polecenie:
./cxoffice/bin/cxreboot
Na Rysunku 5 pokazano komunikat, który
pojawia się po wydaniu takiego polecenia.
Nie jest on jednak całkowicie zrozumiały...
NUMER 16 MAJ 2005
21
TEMAT MIESIĄCA
Emulatory środowiska Windows
Podsumowanie
Programiści Wine postawili przed sobą bardzo ambitny cel: umożliwić uruchamianie
niezmodyfikowanych aplikacji Windows
w systemie Linux. Zastosowano podejście
minimalistyczne: Wine tylko tłumaczy wywołania funkcji między systemem operacyjnym a aplikacją. Prostota obsługi oprogramowania i sprzętu należy do najważniejszych zalet Wine.
Crossover Office ułatwia korzystanie
z technologii Wine mniej zaawansowanym
użytkownikom. Przed zakupem tego oprogramowania warto przetestować wersję próbną i sprawdzić, czy wymagana aplikacja
Windows rzeczywiście „pójdzie” pod Linuksem. Jeśli potrzebna aplikacja nie działa pod
żadnym z opisanych programów, pozostaje
skorzystanie z wirtualnej maszyny, takiej jak
VMware lub Qemu. ■
INFO
[1] WineHQ: http://www.winehq.org/
[2] Pakiety Wine:
http://www.winehq.org/site/download
[3] Codeweavers:
http://www.codeweavers.com/
[4] Transgaming:
http://www.transgaming.com/
Zabawy z programem Cedega
Żeby pod Linuksem grać w gry napisane
dla Windows, potrzebujemy aplikacji Cedega firmy Transgaming [4]. Cedega jest
wersją emulatora API Wine wzbogaconą
o multimedialne funkcje biblioteczne DirectX. Cedega obsługuje nawet nowe gry
Windows o skomplikowanej grafice,
takie jak Half Life 2 czy Far Cry.
./configure -enable-openglU
-enable-pthreads
W pliku konfiguracyjnym można także
wskazać napęd CD-ROM. Zapis dla pierwszego napędu IDE wygląda następująco:
Polecenie make powoduje uruchomienie
kompilatora, a
su -c 'make install'
[Drive H]
„Path” = „/media/cdrom”
„Type” = „cdrom”
„Label” = „CD-ROM”
„Filesystem” = „win95”
„Device” = „/dev/hdc”
Cedega nie jest darmowa: u niemieckiego dystrybutora isofix trzymiesięczna subskrypcja kosztuje ok.
13 EUR.
Jeśli chcemy tylko poznać sam program Cedega, większość oprogramowania możemy pobrać i skompilować
samodzielnie; oprogramowanie takie
jest jednak pozbawione ważnych
komponentów, bez których nie można uruchomić wielu prawnie zastrzeżonych gier.
Teraz możemy już przejść do instalacji gry
Windows. W teście wykorzystaliśmy edycję
zimową popularnej gry Moorhuhn. Mając
zainstalowane oprogramowanie Cedega,
instalujemy grę poleceniem wine:
wine moorhuhn_we.exe
Rysunek 6: Gra Moorhuhn uruchomiona
przez program Cedega.
Pobieranie z CVS
Bez subskrypcji kod źródłowy jest dostępny
tylko przez system kontroli wersji CVS; do
jego pobrania potrzebny jest klient cvs. Po
jego zainstalowaniu najpierw logujemy się
na serwerze:
cvs -d:pserver:[email protected]
transgaming.org:/cvsroot login
W przypadku pytania o hasło wpisujemy po
prostu cvs. Po udanym logowaniu program
nie wyświetla żadnych komunikatów; widzimy je tylko wtedy, gdy coś poszło nie tak.
Teraz wystarczy pobrać pliki do komputera
lokalnego:
cvs -z3 -d:pserver:[email protected]
transgaming.org:/cvsroot co winex
Po chwili kompletny kod źródłowy powinien
już znajdować się w katalogu winex. Kompilacja oprogramowania przebiega w zwykły sposób; nieco inaczej odbywa się ona
tylko w dystrybucji Fedora Core 3:
22
NUMER 16 MAJ 2005
umieszcza program we właściwych katalogach na dysku. Następnie kopiujemy przykładowy plik konfiguracyjny do właściwej
lokalizacji:
cp documentation/samples/U
config ~/.wine/config
Przed rozpoczęciem zabawy musimy utworzyć kilka plików i katalogów. Cedega wymaga istnienia struktury katalogów przypominającej system Windows. W przykładowym pliku konfiguracyjnym przyjęto, że na
dysku istnieje katalog ~/.transgaming.
Tworzymy więc odpowiedni katalog, albo
w pliku konfiguracyjnym zmieniamy zapis
na ~/.wine/config i odpowiednio dostosowujemy następne kroki. Dodajemy odpowiednie podkatalogi:
mkdir -p ~/.transgaming/ U
c_drive/windows/system32
mkdir ~/.transgaming/c_drive/ U
windows/fonts
WWW.LINUX-MAGAZINE.PL
Wykonujemy kolejne kroki instalacji, w wyniku której program Moorhuhn jest umieszczany na „dysku” Cedega, tj. w katalogu
.transgaming/c_drive (odpowiednik windowsowego C:).
Żeby gra „widziała” swoje pliki, uruchamiamy ją z katalogu, w którym została zainstalowana:
cd .transgaming/c_drive/Program\ U
Files/Phenomedia\ AG/Moorhuhn\ U
Winter-Edition
wine MoorhuhnWinter.exe
Gra działa bez problemów i z normalną prędkością (Rysunek 6). Wszystkie inne testowane
przez nas gry też udawało się zainstalować,
ale już nie uruchomić – aplikacje „podejrzewały” Cedegę o naruszanie zabezpieczeń antypirackich.
W komercyjnej wersji Cedega zastosowano
kod, który likwiduje ten problem. Jeśli więc
chcemy korzystać z najnowszych, zabezpieczonych przed kopiowaniem gier, nie mamy
wyjścia – musimy użyć programu Cedega
w wersji komercyjnej.
5
ZALET PRENUMERATY
UŻYWASZ LINUKSA? CZYTAJ LINUX MAGAZINE!
1
2
NISKA CENA
W prenumeracie rocznej – 3 numery ZA DARMO!
W półrocznej – 1 numer ZA DARMO!
Linux Magazine to najtańsze polskie czasopismo
o Linuksie.
4
STAŁA CENA
Gwarancja stałej ceny Linux Magazine
przez cały okres trwania prenumeraty
5
BĄDZ PIERWSZY
Do naszych prenumeratorów pismo Linux Magazine
dociera, zanim ukaże się w sprzedaży detalicznej.
Prenumeratorzy otrzymują Linux Magazine
w specjalnej kopercie, chroniącej pismo
przed uszkodzeniem.
PRENUMERATA NA PRÓBĘ
Wypróbuj prenumeratę Linux Magazine.
DWA KOLEJNE NUMERY za jedyne 26 zł.
3
GWARANCJA
ZWROTU PIENIĘDZY
Jeśli będziesz chciał zrezygnować z prenumeraty,
otrzymasz zwrot pieniędzy, za numery, których jeszcze
nie otrzymałeś
Zamów przez Internet: www.linux-magazine.pl/Subs

Podobne dokumenty