Wine Windows 10-l. See töötab

Vein — rakendus, mis võimaldab Windowsi rakenduste käivitamist Unix-põhistes arvutites.

Wine'i käivitamine Windowsis on olnud fännide unistus, kes järgivad südamekutset "Me teeme seda, mida peame, sest me ei pea seda tegema", vähemalt alates 2004. aastast, kui keegi üritas Wine'i koostada Cygwinis ja purustas host-süsteemi registri.

Küsimus: "Aga mis saab vanadest rakendustest, mis ei tööta korralikult uusimates Windowsi versioonides?" Kuid me mõistame, et tõeline põhjus on "Ma olen kaua kannatanud oma kunsti nimel, nüüd on teie kord".

2008. aasta lõpus vaevas mind kinnitus – ja ma (tundub, et olin see) lõin lehe WineOnWindows Wine'i vikis. Lühidalt: see oli täiesti võimatu, kuna kõik töötas läbi Cygwini, MinGW või Windowsi teenuste jaoks Unixile. Praegune leht ei ole palju edukam.

Windows 10 tutvustas Windowsi alamsüsteemi Linuxile, ja Ubuntu on mugavalt saadaval Microsoft Store'is. Selle tulemusena meie rumal idee realiseerub peaaegu iseeneslikult, ainult et tuleb käsitsi seadistada keskkonnamuutuja DISPLAY.

Siiani on see uskumatu kasutu. Wine töötab ainult 64-bitiste Windowsi rakendustega, seega mitte isegi kõigi rakendustega, mis on osa Windows 10-st.

(Algne projekt algas pärast seda, kui keegi ei suutnud käivitada Encarta 97 Windows 10-s. Nii, nagu iga tõeline geeni seinaga lahendus, ei lahenda see tegelikult originaalprobleemi kasutajale).

Aga ma tahan veel kord rõhutada: nüüd töötab see triviaalsete asjaolude tõttu.Mina ei ole mingi hull geenius, kes realiseeris fantastilise projekti – lihtsalt tundub, et mina olin esimene, kes selle asja avalikult välja kuulutas.

Kuidas seda rumalat asja teha

1. Sul on 64-bitine Windows 10, eks? See on ainus versioon, kus on WSL.

2. Installige WSL. Juhtpaneel -> Rakendused -> Programmid ja omadused -> Windowsi komponentide lubamine ja keelamine. Tärniga märkige "Windowsi alamsüsteem Linuxile". Taaskäivitage Windows.

3. Avage Microsoft Store, installige Ubuntu (peamiselt selle käivitamiseks ja WSL-i loomiseks). Ma installisin Ubuntu 18.04 LTS. Avage Ubuntu, ja te näete bash-terminaali.

4. Installige järgnev bash-kommando:

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

Võite soovida installida uuema versiooni Wine, kui soovite end segada (ärge unustage kahte uut teeki, mis on vajalikud wine-devel >=4.5 ja mis pole veel Ubuntu-sse lisatud!). Andke teada, kui see töötab.

5. Lisage oma .bashrc nii rida:

export DISPLAY=:0.0

Tõenäoliselt soovite selle käivitada ka praeguses bash-aknas.

6. Installige VcXsrv, kenasti pakendatud xorg versioon, mis on Windowsi jaoks kokku pandud – lihtsalt võtke viimane versioon ja käivitage see. Käivitage X Server "Start" nupu kaudu ja XLaunch. See viib teid tagasi olevate vaikevalikute kaudu – jätke enamik neist selliseks, nagu nad on. Ma märkisin "Keela juurdepääsukontroll" igaks juhuks. Salvestage konfiguratsioon.

6a. Kui soovite kontrollida, kas X-server on õigesti seadistatud, installige sudo apt install x11-apps ja käivitage xeyes lühikeseks reisiks tagasi 80-90ndatesse.

7. Mina wine ei tööta, kuna 32-bitised binaarfailid ei käivitu WSL-is. Meie 64-bitine Windows 10 annab veateate /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. Tundub, et see on WSL 2-s parandatud..

Aga praegu käivitame Notepadi Wine'is!

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

Wine Windows 10-l. See töötab

TEHA: 32-bitine tugi. Peame ootama WSL 2 väljalaskmist.. Huvi pakkuda, kas vanad Win16 programmid töötavad – teoreetiliselt peaksid nad tööle minema Wine'is, isegi kui nad ei tööta enam Windowsis.

32-bitised rakendused läbi qemu

Aitäh anonüümse kommentaatori, kes pakkus, kuidas läheneda 32-bitiste rakenduste käivitamisele.

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)

Küll aga Encarta 97 ei tööta ikka veel:

fun@DESKTOP-7F6DU8P:/mnt/e$ wine SETUP.EXE
wine: Käitlemata lehe viga lugemisõiguse juures 0xffffffff aadressil 0x11df:0x00002c11 (niidi 0011), käivitamas tõrkeotsingut...
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 tõrkeotsija

Neile, kes on asjast teadlikud: fail ütleb SETUP.EXE: MS-DOS täitekava, NE MS Windows 3.x jaoks, nii et peame laskuma haruldaste 16-bitiste rakendusteni.

Encarta 97 installitakse ja töötab laitmatult Wine 4.13-s Linuxis… kuid 4.13-s Windows 10-s ikka veel mitte:

fun@DESKTOP-7F6DU8P:~$ wine /mnt/e/SETUP.EXE
Xlib: laiend "MIT-SHM" puudu ekraanil ":0.0".
Xlib: laiend "MIT-SHM" puudu ekraanil ":0.0".
0009:err:process:__wine_kernel_init käivituse ürituse ooteaeg aegus
001d:err:process:__wine_kernel_init käivituse ürituse ooteaeg aegus
wine: Käitlemata lehe viga lugemise juurdepääsu 0xffffffff aadressil 0x11cf:0x00002c11 (teema 001e), alustades siluriga...001e:err:seh:start_debugger Siluri käivitamine ebaõnnestus ("winedbg --auto 28 152") (2)
Loe Wine'i arendajate juhendit, kuidas seadistada winedbg või muud silurit
001d:err:ntdll:RtlpWaitForCriticalSection jaotises 0x7e6273e0 "syslevel.c: Win16Mutex" ooteaeg aegus teemas 001d, blokeeritud 001e, proovides uuesti (60 sek)
Xlib: laiend "MIT-SHM" puudu ekraanil ":0.0".
Ei saanud laadida wine-gecko. HTML-i renderdamine on keelatud.
001e:err:seh:raise_exception Käitlemata erandikood c0000005 lipud 0 aadress 0x7b4a6abc
wine klient tõrge:1e: kirjutamine: Vale faili descriptor

Muidugi, see annab erinevaid veateateid mitme käivitamise jooksul…

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster