Gościnne występy

Projekt Wine, bo o nim mowa, jest – wbrew zapewnieniom twórców programu (Wine to skrót od “Wine is not emulator”) – emulatorem API, czyli interfejsu programistycznego systemu Microsoft Windows. Dzięki istnieniu takiego narzędzia możliwe jest uruchamianie w Linuksie i kilku innych systemach uniksowych (np. FreeBSD i Solaris) sporej liczby programów przeznaczonych dla środowisk Microsoftu. Oczywiście nic nie jest doskonałe – bardzo trudno przecież skopiować funkcjonalność programu tak skomplikowanego jak system operacyjny – zwłaszcza gdy nie można zajrzeć do jego kodu źródłowego. Dlatego też działanie Wine’a nie jest doskonałe – poprawia się jednak z miesiąca na miesiąc.

Co to jest Wine?

Opisywany projekt powstał w 1993 roku i początkowo miał służyć uruchamianiu pod Linuksem programów przeznaczonych dla Windows 3.1. Szybko pojawiali się jednak kolejni uczestnicy przedsięwzięcia i obecnie Wine to ponad milion linii kodu źródłowego, rozwijanego przez przeszło 300 programistów z całego świata. Za pośrednictwem tego oprogramowania możemy uruchomić w środowisku uniksowym aplikacje napisane dla Windows z serii 3.x/95/98/Me/NT/

2000/XP.

Z technicznego punktu widzenia Wine jest uniksową implementacją API Win16 i Win32, wykorzystującą popularne środowisko X Window. W ramach projektu powstaje zarówno środowisko do uruchamiania gotowych plików binarnych, jak i narzędzia (głównie biblioteki) umożliwiające łatwe przenoszenie kodu źródłowego z Windows do Uniksów. Wine jest z założenia w pełni opensource’owym środowiskiem emulującym Windows, jednak w razie potrzeby pozwala na skorzystanie z istniejących bibliotek DLL Microsoftu.

Po stronie uniksowej Wine wykorzystuje popularną bibliotekę graficzną SDL, dostępną w środowisku X Window. Obecnie emulowane są takie elementy API Windows, jak obsługa urządzeń peryferyjnych (modemów, drukarek, kart dźwiękowych, skanerów itd.), sieci TCP/IP itp. Ogółem dostępnych jest ponad 90% wywołań popularnych funkcji API.

Wiele osób, stykających się po raz pierwszy z projektem Wine, zadaje pytanie: “Po co tyle zachodu? Nie można po prostu skorzystać z Windows albo VMWare?”. Odpowiedzi na te pytania jest co najmniej kilka. Przede wszystkim Wine pozwala połączyć wszystkie zalety środowisk uniksowych (takie jak bezpieczeństwo, niezawodność, elastyczność i elegancję rozwiązań technicznych) z obfitością aplikacji przeznaczonych dla Windows. Pozostają jeszcze mniej spektakularne, lecz niejednokrotnie równie ważne powody – np. stworzenie alternatywy dla produktów monopolisty na rynku systemów operacyjnych czy wreszcie przyjemność z uruchomienia ulubionego programu graficznego czy gry w używanym na co dzień OS-ie. Jakby nie patrzeć na sensowność przedsięwzięcia, prawie sto tysięcy użytkowników Wine’a mówi sam za siebie.

Więcej:bezcatnews