Wine na Windows 10. Radi

Wine — program za pokretanje Windows aplikacija na računalima s Unixom.

Pokretanje Wine na Windowsu bio je san fanova koji slijede poziv srca "Radimo ono što trebamo, jer ne moramo", barem od 2004. godine, kada je netko pokušao prekompilirati Wine u Cygwin i srušio registar host sustava.

Opravdanje: "A što je s starim aplikacijama koje ne rade ispravno na najnovijim Windowsima?". No, svi mi razumijemo da pravi razlog je "Dugo sam patio za svoju umjetnost, sada je red na vama".

Krajem 2008. godine uhvatila me opsesivna misao — i ja (čini se, to sam bio ja) sam stvorio stranicu WineOnWindows na wiki Wine. Ukratko: to je zapravo bilo nemoguće, budući da je sve radilo putem Cygwina, MinGW ili Windows Services za Unix. Trenutna stranica nije mnogo uspješnija.

Windows 10 predstavio je Windows pod-sustav za Linux, a Ubuntu se jednostavno preuzima iz Microsoft trgovine. Kao rezultat, naša glupa ideja se gotovo sama ostvaruje, osim što treba ručno postaviti varijablu okruženja DISPLAY.

I dalje je to totalno beskorisno. Wine radi samo s 64-bitnim Windows aplikacijama, što znači da ne radi ni sa svim aplikacijama koje dolaze s Windows 10.

(Izvorni projekt je započeo nakon što netko nije mogao pokrenuti Encarta 97 na Windows 10. Dakle, kao i svako pravo geekovsko rješenje, zapravo ne rješava izvorni problem korisnika).

Ali još jednom želim naglasiti: sada to radi trivijalno. Nisam neki ludi genij koji je realizirao fantastičan projekt — jednostavno, čini se da sam prvi javno objavio ovu činjenicu.

Kako napraviti ovu glupu stvar

1. Imate 64-bitni Windows 10, zar ne? To je jedina verzija s WSL-om.

2. Instalirajte WSL. Upravljačka ploča -> Aplikacije -> Programi i funkcije -> Uključivanje i isključivanje Windows funkcija. Označite "Windows pod-sustav za Linux". Ponovo pokrenite Windows.

3. Idite na Microsoft Store, instalirajte Ubuntu (uglavnom, za njegovo pokretanje i stvaranje WSL-a). Instalirao sam Ubuntu 18.04 LTS. Otvorite Ubuntu, i vidjet ćete bash terminal.

4. Instalirajte sljedeće iz bash naredbenog retka:

sudo dpkg --add-architecture i386
sudo apt update; sudo apt upgrade
sudo apt install wine-stable

Možete instalirati noviju verziju Wine-a, ako želite zabaviti se (ne zaboravite na dvije nove biblioteke koje su potrebne za wine-devel >=4.5 i koje još nisu uključene u Ubuntu!). Javite mi ako ovo uspije.

5. Dodajte svom .bashrc takav redak:

export DISPLAY=:0.0

Vjerojatno ćete htjeti pokrenuti ovo i u trenutnom bash prozoru.

6. Instalirajte VcXsrv, lijepo upakirana verzija xorg, kompajlirana za Windows – samo preuzmite posljednju verziju izvršne datoteke i pokrenite je. Pokrenite X Server putem gumba «Start» i XLaunch. Vodit će vas kroz zadane postavke – ostavite većinu njih kako stoje. Radi sigurnosti, označio sam «Onemogući kontrolu pristupa». Spremite konfiguraciju.

6a. Ako želite provjeriti je li X server pravilno podešen, instalirajte sudo apt install x11-apps i pokrenite xeyes za kratko putovanje nazad u 80-90-e.

7. Ja wine ne radi, jer 32-bitne binarne datoteke se ne pokreću u WSL. Na našem 64-bitnom Windows 10 dobijamo grešku /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. Izgleda da je to ispravljeno u WSL 2.

A do tada, pokrenimo Notepad u Wine-u!

wine64 /usr/lib/x86_64-linux-gnu/wine/fakedlls/notepad.exe

Wine na Windows 10. Radi

TO DO: 32-bitna podrška. Morat ćemo pričekati izlazak WSL 2. Zanimljivo, hoće li stari Win16 programi raditi – po ideji, trebali bi se pokrenuti u Wine-u, čak i ako više ne rade u samom Windowsu.

32-bitne aplikacije putem qemu

Hvala anonimnom komentatoru, koji je predložio kako prići pokretanju 32-bitnih aplikacija.

sudo apt install qemu-user-static
sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic 'x7fELFx01x01x01x03x00x00x00x00x00x00x00x00x03x00x03x00x01x00x00x00' --mask 'xffxffxffxffxffxffxffxfcxffxffxffxffxffxffxffxffxf8xffxffxffxffxffxffxff'
sudo service binfmt-support start

I sada možemo napraviti:

fun@DESKTOP-7F6DU8P:~$ wine --version
wine-3.0 (Ubuntu 3.0-1ubuntu1)

Ipak, Encarta 97 i dalje ne radi:

fun@DESKTOP-7F6DU8P:/mnt/e$ wine SETUP.EXE
wine: Neobrađena greška stranice pri pristupu 0xffffffff na adresi 0x11df:0x00002c11 (nit 0011), pokreće se debager...
0011:err:seh:start_debugger Nije moguće pokrenuti debager ("winedbg --auto 15 108") (2)
Pročitajte Wine Developers Guide o tome kako postaviti winedbg ili neki drugi debager.

Za one koji su u temi: datoteka govori SETUP.EXE: MS-DOS izvršna datoteka, NE za MS Windows 3.x, tako da moramo preći na rijetke 16-bitne programe.

Encarta 97 se instalira i radi besprijekorno u Wine 4.13 na Linuxu… ali u 4.13 na Windows 10 još uvijek ne radi:

fun@DESKTOP-7F6DU8P:~$ wine /mnt/e/SETUP.EXE
Xlib: proširenje "MIT-SHM" nedostaje na prikazu ":0.0".
Xlib: proširenje "MIT-SHM" nedostaje na prikazu ":0.0".
0009:err:process:__wine_kernel_init čekanje na početni događaj je isteklo
001d:err:process:__wine_kernel_init čekanje na početni događaj je isteklo
wine: Nepredviđeni problem na čitanju pristupa 0xffffffff na adresi 0x11cf:0x00002c11 (thread 001e), pokretanje debagera...001e:err:seh:start_debugger Nije moguće pokrenuti debager ("winedbg --auto 28 152") (2)
Pročitajte Vodič za razvojne programere Wine o tome kako postaviti winedbg ili drugi debager
001d:err:ntdll:RtlpWaitForCriticalSection sekcija 0x7e6273e0 "syslevel.c: Win16Mutex" čekanje je isteklo u thread 001d, blokirano od strane 001e, ponovo pokušava (60 sek)
Xlib: proširenje "MIT-SHM" nedostaje na prikazu ":0.0".
Nije moguće učitati wine-gecko. HTML renderiranje će biti onemogućeno.
001e:err:seh:raise_exception Nepredviđena iznimka kod c0000005 zastavice 0 addr 0x7b4a6abc
wine klijent greška:1e: write: Nevaljani deskriptor datoteke

Naravno, daje različite poruke o greškama u nekoliko pokretanja…

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster