Oprogramowanie
Artykuł
Robert Multan, Poniedziałek, 11 kwietnia 2011, 22:10

Wine is not an Emulator

Chociaż baza aplikacji dla systemów linuksowych zaspokaja potrzeby większości typowych użytkowników, duża część oprogramowania dostępna jest jedynie w wersji dla Windows. Jednak środowisko programistów Open Source znalazło sposób, by temu zaradzić.

Wine (od słów Wine Is Not an Emulator) umożliwia uruchamianie aplikacji stworzonych dla systemu Microsoft Windows w środowisku uniksowym (Linux, Solaris, BSD). Wbrew pozorom Wine nie jest emulatorem, lecz alternatywną implementacją windowsowego interfejsu programistycznego (WinAPI) dla X Window System, w całości działającą w przestrzeni użytkownika (niezależnie od jądra systemu). Poza samym WinAPI Wine implementuje takie biblioteki, jak Microsoft Direct3D, tłumacząc ich wywołania na zgodne z otwartym standardem OpenGL. Początkowo Wine był rozpowszechniany na licencji MIT, jednak po tym, jak w 2002 roku powstał zamknięty „fork” o nazwie Cedega (dawniej WineX), kod aplikacji – by uniknąć podobnych praktyk – jest rozprowadzany na zasadach licencji GNU LGPL.

Pomimo ponad 17 lat rozwoju i wsparcia takich gigantów, jak Google i Corel, uruchamianie windowsowych aplikacji wciąż przypomina loterię. W serwisie AppDB, na którego łamach użytkownicy raportują, jak dobrze dany program sprawuje się w środowisku Wine, stosunkowo niewielka ich liczba uzyskała status „platynowy”, oznaczający działanie bez żadnych problemów w większości przypadków. W praktyce duża część bardziej rozbudowanych i nowszych aplikacji może działać w sposób trudny do przewidzenia, a niektóre w ogóle nie dają się uruchomić, lub nawet zainstalować.

Ciekawą kwestią jest wydajność programów uruchamianych w środowisku Wine. Z opublikowanych w sieci testów wynika, że w pewnych okolicznościach niektóre programy (na przykład 3DMark2000) potrafią działać wydajniej niż uruchomione w macierzystym środowisku. W zasadzie jest to tylko jeden z wyjątków potwierdzających regułę – w większości przypadków korzystanie z Wine wiąże się z mniejszym lub większym spadkiem wydajności. Oczywiście, jeśli chodzi o trójwymiarowe gry, lepiej radzić sobie będą te korzystające z bibliotek OpenGL (dostępnych w wersji dla systemów uniksowych), bo nie jest konieczne tłumaczenie wywołań Direct3D.

Wbrew temu, co można by pomyśleć, korzystanie z Wine nie sprowadza na użytkowników systemów uniksowych problemu wirusów rodem z Windows. Nawet jeżeli użytkownik uruchomi aplikację zawierającą szkodliwy kod, ma on niewielkie lub zerowe szanse na zadziałanie w taki sposób jak w swoim macierzystym środowisku. Dzieje się tak z kilku powodów. Po pierwsze, uruchomiony z konta zwykłego użytkownika w praktyce będzie mieć dostęp jedynie do jego katalogu domowego. Nawet uruchomiony z konta roota, Wine ma zwykle dostęp do względnie małego fragmentu dysku twardego. Udostępnianie mu całej struktury katalogów jest nie tyle nierozsądne, co może być objawem szaleństwa.

Ocena artykułu:
Ocen: 27
Zaloguj się, by móc oceniać
Facebook
Ostatnio komentowane