Witam, pewnie z "windowsowiczów" nikt nie wie o projekcie
Wine ale go opiszę.
Wine to implementacja WinAPI, DirectX oraz bibliotek, plików wykonywalnych z windows dla windows, Linux, MacOSX, Solaris, BSD i wielu innych systemów operacyjnych.
Wine Is Not Emulator
Wine nie jest emulatorem, ponieważ nie musi "tłumaczyć" instrukcji procesora ponieważ windows tak samo jak reszta systemów operacyjnych działają na tych samych architekturach sprzętowych ( x86, amd64 ) choć Linux, BSD i inne uniksowe systemy obsługują więcej architektur to jednak Wine prawdopodobnie reszty nie obsługuje.
Co to oznacza?
Że Wine pozwala uruchamiać programy oraz gry z windows pod innymi systemami operacyjnymi - projekt istnieje od ok. 15 lat i ma się dobrze.
Po co przepisywać windows?
Istnieje wiele powodów, możemy "odtworzyć" kod źródłowy windows po to aby go później ulepszyć i samemu wprowadzać poprawki - nad windows pracuje tylko sztab opłacanych programistów.
Drugim najważniejszym powodem jest umożliwienie uruchomienia danego programu/gry pod innym systemem operacyjnym.
Wine w praktyce, czyli co już zrobione i jak to wygląda
Bez problemu możemy uruchomić "powłokę" batch ( cmd.exe ), może nie jest ona jeszcze idealna ( polskie kodowanie nawala ) ale jest na poziomie używalnym:
Kod:
C:\>dir
Wolumenem w napędzie C jest
Numer seryjny wolumenu: 0000-0000
Directory of C:\
2010-05-04 21:05 0 AILog.txt
2010-05-03 16:23 <DIR> Program Files
2010-05-03 16:23 <DIR> users
2010-08-28 14:52 <DIR> windows
1 file 0 bytes
3 directories 1,781,944,320 bytes free
C:\>
Kod:
C:\>ipconfig
Ethernet adapter lo
Connection-specific DNS suffix. . : (null)
IP address. . . . . . . . . . . . : 127.0.0.1
IP address. . . . . . . . . . . . : ::1
Ethernet adapter eth0
Connection-specific DNS suffix. . : (null)
Ethernet adapter wlan0
Connection-specific DNS suffix. . : (null)
IP address. . . . . . . . . . . . : 192.168.x.y
C:\>ipconfig /ALL
Hostname. . . . . . . . . . . . . : localhost
Node type . . . . . . . . . . . . : Hybrid
IP routing enabled. . . . . . . . : No
Ethernet adapter lo
Connection-specific DNS suffix. . : (null)
Description . . . . . . . . . . . : (null)
Physical address. . . . . . . . . :
DHCP enabled. . . . . . . . . . . : No
IP address. . . . . . . . . . . . : 127.0.0.1
IP address. . . . . . . . . . . . : ::1
Ethernet adapter eth0
Connection-specific DNS suffix. . : (null)
Description . . . . . . . . . . . : (null)
Physical address. . . . . . . . . : xx-xx-xx-xx-xx-xx
DHCP enabled. . . . . . . . . . . : No
Ethernet adapter wlan0
Connection-specific DNS suffix. . : (null)
Description . . . . . . . . . . . : (null)
Physical address. . . . . . . . . : xx-xx-xx-xx-xx-xx
DHCP enabled. . . . . . . . . . . : No
IP address. . . . . . . . . . . . : 192.168.x.y
C:\>
Counter-Strike 1.6 uruchomiony poprzez Wine
Pokazana wyżej gra jest uruchomiona bez pomocy windows, choć gra jest w wersji dla windows - całość opiera się o biblioteki Wine i chodzi tak samo sprawnie jak pod windows.
Dynamiczny rozwój projektu
Każdego dnia implementowane są dziesiątki funkcji, poprawiane nowe błędy, całość zmian można obserwować na bieżąco.
http://source.winehq.org/git/wine.git/?a=shortlog
Opisy zmian są jednak zrozumiałe tylko dla deweloperów, dlatego można także przyjrzeć się zmianom bardziej widocznym dla użytkowników:
http://www.winehq.org/announce/1.3.1
Tutaj już pokazane są usprawnienia dla konkretnych aplikacji dla których zostały zgłoszone błędy.
Przykładowo:
Kod:
22504 Bioshock: fog renders red - w grze "Bioshock" mgła jest wyświetlana na czerwono
21027 Lego Digital Designer hangs on startup - "Lego Digital Designer" zawiesza się na starcie
19414 Excel 2003 & 2007 crash trying to run macros - "Microsoft Excel 2003 i 2007" wyłącza się przy próbie uruchomienia makra
22131 CDBurnerXP 4.3.x: arrow buttons do not appear correctly - W" CDBurnerXP 4.3.x" przyciski strzałek nie wyświetlają się poprawnie
A jak by tak połączyć Wine z gotowym jądrem systemu operacyjnego?
Projekt ReactOS napisał od nowa jądro systemu podobne do jądra NT ( tego używanego w windows ), i we współpracy z Wine potrafi uruchomić przeróżne programy z windows jak i nawet sterowniki do urządzeń.
Jednak rozwój ReactOS jest zaskakująco wolny w porównaniu do dynamicznego rozwoju Wine, dlatego nie można powiedzieć że całość będzie za niedługo używalna ( samo jądro itp. jest bardzo nie stabilne i sypie BSOD'ami, dlatego lepiej używać Linuksa + Wine niż ReactOS ).
ReactOS jako system dostępny do pobrania:
http://www.reactos.org/pl/download.html
Aby przekonać się jak działa choćby powłoka graficzna ReactOS, możemy pobrać i uruchomić sam "ReactOS Explorer" czyli w pełni kompatybilną z windows wersję explorer.exe
ReactOS Explorer:
http://www.foxplanet.de/explorer/
Sprawdźcie sobie sami jak działa Wine!
Sprawdzić działanie Wine mogą użytkownicy każdego systemu operacyjnego.
W windows można obok oryginalnej aplikacji np. regedit postawić tą z wine i sprawdzić jak działa, jest ona kompatybilna z oryginałem.
-- WebNuLL