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