— program za zagon aplikacij Windows na računalnikih z Unixom.
Zagon Wine na Windows je bil sanje oboževalcev, ki sledijo klicu srca "Delamo kar moramo, ker ne rabimo tega početi", vsaj od leta 2004, ko je nekdo poskusil skompilirati Wine v Cygwinu in .
Opravičilo: "Kaj pa stare aplikacije, ki ne delujejo pravilno v najnovejših Windows?". Ampak mi vemo, da pravi razlog - "Dolgo sem trpel zaradi svoje umetnosti, zdaj je vaš čas."
Konec leta 2008 me je obsedla misel - in jaz (zdi se, da sem to bil jaz) sem ustvaril stran na viki Wine. Na kratko: to sploh ni bilo mogoče, ker je vse delovalo preko Cygwina, MinGW ali Windows Services za Unix. ni bistveno uspešnejša.
Windows 10 je predstavil podsistem Windows za Linux, in Ubuntu se enostavno naloži iz Microsoft Store. Kot rezultat se naša neumna ideja uresničuje skoraj sama, le da je potrebno ročno nastaviti okoljsko spremenljivko DISPLAY.
Do sedaj je to neverjetno nepoužitno. Wine deluje le s 64-bitnimi aplikacijami Windows, kar pomeni, da ne deluje niti z vsemi aplikacijami, ki so vključene v samo Windows 10.
(Prvotni projekt se je začel potem, ko nekdo ni uspel zagnati Encarta 97 na Windows 10. Tako kot vsak pravilen geekovski projekt, dejansko ne rešuje izvirne težave uporabnika).
Ampak želim še enkrat poudariti: zdaj deluje trivialno. Nisem kakšen nor genij, ki je uresničil fantastičen projekt - preprosto se mi zdi, da sem prvi javno razglasil to dejstvo.
Kako narediti to neumno stvar
1. Imate 64-bitni Windows 10, mar ne? To je edina različica z WSL.
2. Namestite WSL. Nadzorna plošča -> Aplikacije -> Programi in funkcije -> Vklopi in izklopi komponente Windows. Označite "Podsistem Windows za Linux". Ponovno zaženite Windows.
3. Pojdite v Microsoft Store in namestite Ubuntu (predvsem za zagon in ustvarjanje WSL). Namestil sem Ubuntu 18.04 LTS. Odprite Ubuntu in videli boste bash terminal.
4. Namestite naslednje iz bash ukazne vrstice:
sudo dpkg --add-architecture i386
sudo apt update; sudo apt upgrade
sudo apt install wine-stableLahko namestite bolj aktualno različico Wine, če želite (ne pozabite na dve novi knjižnici, ki ju potrebujete za wine-devel >=4.5 in ki še nista vključeni v Ubuntu!). Sporočite, če deluje.
5. Dodajte k svojemu .bashrc takšno vrstico:
export DISPLAY=:0.0Verjetno boste to želeli zagnati tudi v trenutnem oknu bash.
6. , lepo oblikovana različica xorga, kompilirana za Windows – preprosto vzemite zadnjo različico izvršnega programa in jo zaženite. Zaženite X Server preko gumba „Start“ in XLaunch. Vodil vas bo skozi privzete nastavitve – večino pustite takšne, kot so. Z namenom sem obkljukal „Onemogoči nadzor dostopa“. Shranite konfiguracijo.
6a. Če želite preveriti, ali je X-server pravilno nastavljen, namestite sudo apt install x11-apps in zaženite xeyes za kratko potovanje nazaj v 80–90-a.
7. Sam wine ne deluje, ker . Na našem 64-bitnem Windows 10 se prikaže napaka /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. Očitno so to .
Medtem pa zaženimo Beležnico v Wine!
wine64 /usr/lib/x86_64-linux-gnu/wine/fakedlls/notepad.exe

TO DO: 32-bitna podpora. Treba bo počakati . Zanimivo, ali bodo stare programe Win16 delovale – načeloma bi se morale zagnati v Wine, čeprav več ne delujejo v sami Windows.
32-bitne aplikacije preko qemu
Hvala , ki je predlagal, kako se lotiti zagona 32-bitnih aplikacij.
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
In zdaj lahko naredimo:
fun@DESKTOP-7F6DU8P:~$ wine --version wine-3.0 (Ubuntu 3.0-1ubuntu1)
Vendar pa Encarta 97 še vedno ne deluje:
fun@DESKTOP-7F6DU8P:/mnt/e$ wine SETUP.EXE
wine: Unhandled page fault on read access to 0xffffffff at address 0x11df:0x00002c11 (thread 0011), starting debugger...
0011:err:seh:start_debugger Couldn't start debugger ("winedbg --auto 15 108") (2)
Preberite Vodnik za razvijalce Wine o tem, kako nastaviti winedbg ali drug debugger. Za tiste, ki so v tematiki: file kaže SETUP.EXE: MS-DOS izvršek, NE za MS Windows 3.x, tako da se moramo spustiti do redkih 16-bitnih programov.
Encarta 97 se namesti in brez napak deluje v Wine 4.13 na Linuxu… vendar v 4.13 na Windows 10 še vedno ni:
fun@DESKTOP-7F6DU8P:~$ wine /mnt/e/SETUP.EXE
Xlib: extension "MIT-SHM" missing on display ":0.0".
Xlib: extension "MIT-SHM" missing on display ":0.0".
0009:err:process:__wine_kernel_init boot event wait timed out
001d:err:process:__wine_kernel_init boot event wait timed out
wine: Unhandled page fault on read access to 0xffffffff at address 0x11cf:0x00002c11 (thread 001e), starting debugger...001e:err:seh:start_debugger Couldn't start debugger ("winedbg --auto 28 152") (2)
Read the Wine Developers Guide on how to set up winedbg or another debugger
001d:err:ntdll:RtlpWaitForCriticalSection section 0x7e6273e0 "syslevel.c: Win16Mutex" wait timed out in thread 001d, blocked by 001e, retrying (60 sec)
Xlib: extension "MIT-SHM" missing on display ":0.0".
Could not load wine-gecko. HTML rendering will be disabled.
001e:err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7b4a6abc
wine client error:1e: write: Bad file descriptor Seveda, daje različna sporočila o napakah v več zaganjanjih…
Izvor: habr.com
