â programm, et rakendab Windowsi rakendusi Unixiga arvutites.
Wine'i kĂ€ivitamine Windowsis oli fĂ€nnide unistus, kes jĂ€rgivad sĂŒdame kutset "Me teeme seda, mida peame, sest me ei pea seda tegema" vĂ€hemalt alates 2004. aastast, mil keegi ĂŒritas Wine'i Cygwini alla kompileerida ja .
KĂŒsimus: "Aga kuidas vanade rakendustega, mis ei tööta korralikult uusimates Windowsis?". Kuid me mĂ”istame, et tĂ”eline pĂ”hjus - "Ma olen kaua kannatanud oma kunsti nimel, nĂŒĂŒd on teie kord".
2008. aasta lĂ”pus tabas mind kinnismĂ”te - ja ma (tundub, et see olin mina) lĂ”in lehekĂŒlje Wine'i vikis. LĂŒhidalt: oli see ĂŒldse vĂ”imatu, kuna kĂ”ik töötas lĂ€bi Cygwini, MinGW vĂ”i Windows Services for Unix. ei ole palju edukam.
Windows 10 tutvustas Windowsi alamsĂŒsteemi Linuxile, ja Ubuntu laaditakse mugavalt alla Microsoft Store'ist. SeetĂ”ttu rakendub meie rumal idee praktiliselt iseenesest, vĂ€lja arvatud, et peate kĂ€sitsi seadistama keskkonnamuutuja DISPLAY.
Kuni tÀnaseni on see vaimustavalt kasutuskÔlbmatu. Wine töötab ainult 64-bitiste Windowsi rakendustega, mis tÀhendab, et isegi mitte kÔik rakendused, mis on osa Windows 10-st.
(Algne projekt algas pÀrast seda, kui keegi ei suutnud Encarta 97 Windows 10-s kÀivitada. Nii et nagu iga ehtne geekide lahendus, ei lahenda see tegelikult kasutaja algset probleemi).
Aga tahan veel kord rÔhutada: praegu töötab see triviaalset. Ma ei ole mingi hull geenius, kes on ellu viinud fantastilise projekti - lihtsalt tundub, et ma olen esimene, kes seda fakti avalikult tunnistas.
Kuidas seda rumalat asja teha
1. Kas teil on 64-bitine Windows 10, eks? See on ainus versioon WSL-iga.
2. Installige WSL. Juhtpaneel -> Rakendused -> Programmid ja funktsioonid -> Windowsi funktsioonide lubamine ja keelamine. Pange linnuke "Windowsi alamsĂŒsteem Linuxile". TaaskĂ€ivitage Windows.
3. Minge Microsoft Store'i, installige Ubuntu (peamiselt selle kÀivitamiseks ja WSL-i loomiseks). Ma installisin Ubuntu 18.04 LTS. Avage Ubuntu ja nÀete bash terminali.
4. Installige jÀrgmine bash'i kÀsurealt:
sudo dpkg --add-architecture i386
sudo apt update; sudo apt upgrade
sudo apt install wine-stableSaate installida uuema versiooni Wine'ist, kui soovite (Àrge unustage kaht uut teeki, mis on vajalikud wine-devel >=4.5 ja mis ei ole veel Ubuntu'sse jÔudnud). Andke teada, kas see töötab.
5. Lisage oma .bashrc selline rida:
export DISPLAY=:0.0VÔib-olla soovite seda kÀivitada ka praeguses bash aknas.
6. , kaunis pakendatud versioon xorg, Windowsile kompileeritud â lihtsalt hankige viimane tĂ€itmisfail ja kĂ€itage see. KĂ€ivitage X Server nuppude âStartâ ja XLaunch kaudu. See juhendab teid vaikeseadetesse â jĂ€tke enamik neist muutmata. Ma mĂ€rkisin siiski âKeela juurdepÀÀsukontrollâ. Salvestage seadistus.
6a. Kui soovite kontrollida, kas X-server on Ă”igesti seadistatud, installige sudo apt install x11-apps ja kĂ€ivitage xeyes lĂŒhikese reisi jaoks tagasi 80-90-ndatesse.
7. Ise wine ei tööta, kuna . Meie 64-bitises Windows 10-s ilmneb viga /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. Tundub, et see .
Aga praegu kÀivitame Notepadi Wine'is!
wine64 /usr/lib/x86_64-linux-gnu/wine/fakedlls/notepad.exe

TO DO: 32-bitine tugi. Peame ootama . Huvitav, kas vanad Win16 programmid töötavad â teoreetiliselt peaksid nad Wine'is kĂ€ima, isegi kui nad enam Windowsis ei tööta.
32-bitised rakendused qemu kaudu
AitÀh , kes pakkus ideed 32-bitiste rakenduste kÀivitamiseks.
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
Ja nĂŒĂŒd saame teha:
fun@DESKTOP-7F6DU8P:~$ wine --version wine-3.0 (Ubuntu 3.0-1ubuntu1)
Kuid Encarta 97 ei tööta ikkagi:
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)
Lugege Wine'i arendajate juhendit, kuidas seadistada winedbg vĂ”i mĂ”ni muu debugeerija Neile, kes teemaga kursis on: file ĂŒtleb SETUP.EXE: MS-DOS tĂ€itmisfail, NE MS Windows 3.x-i jaoks, nii et peame laskuma haruldaste 16-bitiste programmide juurde.
Encarta 97 installitakse ja töötab laitmatult Wine 4.13 all Linuxis... kuid Windows 10-l ei ole endiselt 4.13 versioonis:
fun@DESKTOP-7F6DU8P:~$ wine /mnt/e/SETUP.EXE
Xlib: extension "MIT-SHM" puudub kuvamisel ":0.0".
Xlib: extension "MIT-SHM" puudub kuvamisel ":0.0".
0009:err:process:__wine_kernel_init buutimise sĂŒndmus ooteaeg aegus
001d:err:process:__wine_kernel_init buutimise sĂŒndmus ooteaeg aegus
wine: Tootmata lehe viga lugemisÔiguse korral 0xffffffff aadressil 0x11cf:0x00002c11 (thread 001e), algab debugeerija...001e:err:seh:start_debugger Debugeerija kÀivitamine ebaÔnnestus ("winedbg --auto 28 152") (2)
Loe Wine'i arendajate juhendit, kuidas seadistada winedbg vÔi mÔni teine debugeerija
001d:err:ntdll:RtlpWaitForCriticalSection sektsioon 0x7e6273e0 "syslevel.c: Win16Mutex" ooteaeg aegus lÔimes 001d, blokeeritud lÔimes 001e, uuesti proovima (60 sek)
Xlib: extension "MIT-SHM" puudub kuvamisel ":0.0".
Ei olnud vÔimalik laadida wine-gecko. HTML renderdamine on keelatud.
001e:err:seh:raise_exception Tootmata erandikood c0000005 lipud 0 aadress 0x7b4a6abc
wine client error:1e: write: Vale faili descriptor Muidugi, see annab erinevaid veateateid mitme kĂ€ivitamise kĂ€igusâŠ
Allikas: habr.com
