Wine på Windows 10. Det fungerer

Wine — et program til at køre Windows-applikationer på computere med Unix.

At køre Wine på Windows har været en drøm for fans, der følger deres hjerte "Vi gør det, vi skal, fordi vi ikke er forpligtet til at gøre det", i det mindste siden 2004, da nogen forsøgte at kompilere Wine i Cygwin og ødelagde værtsystemets registreringsdatabase.

Undskyldning: "Hvad med gamle applikationer, der ikke fungerer ordentligt i de nyeste versioner af Windows?" Men vi forstår jo, at den sande årsag er "Jeg har lidt for mit kunstværk, nu er det jeres tur."

I slutningen af 2008 blev jeg overvældet af en besættelse — og jeg (det ser ud til, at det var mig) oprettede en side WineOnWindows på Wine-wikien. Kort sagt: det var overhovedet umuligt, da alt arbejdede gennem Cygwin, MinGW eller Windows Services for Unix. Den nuværende side er ikke meget mere succesfuld.

Windows 10 introducerede Windows Subsystem for Linux, og Ubuntu kan nemt downloades fra Microsoft Store. Som et resultat bliver vores tåbelige idé nærmest realiseret af sig selv, bortset fra at man manuelt skal sætte miljøvariablen DISPLAY.

Indtil videre er dette vanvittigt ubrugeligt. Wine fungerer kun med 64-bit Windows-applikationer, hvilket betyder, at det ikke engang fungerer med alle de applikationer, der følger med selve Windows 10.

(Det oprindelige projekt startede efter nogen ikke kunne køre Encarta 97 på Windows 10. Sådan som med enhver rigtig geek-løsning, løser det faktisk ikke det oprindelige brugerproblem).

Men jeg vil gerne understrege endnu engang: det fungerer nu trivielt. Jeg er ikke en eller anden vanvittig geni, der har gennemført et fantastisk projekt — det er bare, jeg ser ud til at være den første, der offentligt har erklæret dette faktum.

Sådan gør man denne tåbelige ting

1. Har du 64-bit Windows 10, ikke? Det er den eneste version med WSL.

2. Installer WSL. Kontrolpanel -> Apps -> Programmer og funktioner -> Aktivér eller deaktiver Windows-funktioner. Sæt flueben ved "Windows Subsystem for Linux". Genstart Windows.

3. Gå ind i Microsoft Store, installer Ubuntu (primært for at starte den og oprette WSL). Jeg installerede Ubuntu 18.04 LTS. Åbn Ubuntu, og du vil se bash-terminalen.

4. Installer følgende fra bash-kommandoen:

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

Du kan installere en mere opdateret version af Wine, hvis du vil bruge lidt tid på det (huske at der er to nye biblioteker, der er nødvendige for wine-devel >=4.5 og som endnu ikke er blevet inkluderet i Ubuntu!). Lad mig vide, om det virker.

5. Tilføj til dit .bashrc sådan en linje:

export DISPLAY=:0.0

Du vil sandsynligvis gerne køre dette i det nuværende bash-vindue.

6. Installer VcXsrv, en pænt pakket version af xorg, kompileret til Windows — hent blot den nyeste version af den eksekverbare fil og kør den. Start X Server via Start-menuen og XLaunch. Det vil guide dig gennem standardindstillingerne — lad de fleste forblive som de er. Jeg satte en markering i 'Deaktiver adgangskontrol'. Gem konfigurationen.

6a. Hvis du vil kontrollere, at X-serveren er korrekt konfigureret, skal du installere sudo apt install x11-apps og køre xeyes for en kort rejse tilbage til 80'erne og 90'erne.

7. Den wine fungerer ikke, fordi 32-bit binære filer ikke kører i WSL. På vores 64-bit Windows 10 dukker der en fejl op /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. Det ser ud til, at dette er blevet rettet i WSL 2.

Men lad os starte Notesblok i Wine!

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

Wine på Windows 10. Det fungerer

TO DO: 32-bit understøttelse. Vi må vente på udgivelsen af WSL 2. Det er interessant, om gamle Win16-programmer vil fungere — i teorien burde de kunne køre i Wine, selvom de ikke længere fungerer i selve Windows.

32-bit applikationer via qemu

Tak til den anonyme kommentator, som foreslog, hvordan man kunne starte 32-bit applikationer.

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

Og nu kan vi gøre:

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

Men Encarta 97 fungerer stadig ikke:

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)
Læs Wine Developers Guide for at finde ud af, hvordan man konfigurerer winedbg eller en anden debugger.

For dem, der er inde i det: file says SETUP.EXE: MS-DOS eksekverbar, NE for MS Windows 3.x, så vi skal ned til sjældne 16-bit programmer.

Encarta 97 installeres og fungerer perfekt i Wine 4.13 på Linux… men i 4.13 på Windows 10 fungerer det stadig ikke:

fun@DESKTOP-7F6DU8P:~$ wine /mnt/e/SETUP.EXE
Xlib: udvidelse "MIT-SHM" mangler på skærm ":0.0".
Xlib: udvidelse "MIT-SHM" mangler på skærm ":0.0".
0009:err:process:__wine_kernel_init boot begivenheds ventetid udløbet
001d:err:process:__wine_kernel_init boot begivenheds ventetid udløbet
wine: Ubehandlet sidefejl ved læseadgang til 0xffffffff på adresse 0x11cf:0x00002c11 (tråd 001e), starter debugger...001e:err:seh:start_debugger Kunne ikke starte debugger ("winedbg --auto 28 152") (2)
Læs Wine-udviklers vejledning om, hvordan du opsætter winedbg eller en anden debugger
001d:err:ntdll:RtlpWaitForCriticalSection sektion 0x7e6273e0 "syslevel.c: Win16Mutex" ventetid udløbet i tråd 001d, blokeret af 001e, forsøger igen (60 sek)
Xlib: udvidelse "MIT-SHM" mangler på skærm ":0.0".
Kunne ikke indlæse wine-gecko. HTML-rendering vil være deaktiveret.
001e:err:seh:raise_exception Ubehandlet undtagelseskode c0000005 flag 0 addr 0x7b4a6abc
wine klientfejl:1e: skriv: Dårlig filbeskrivelse

Selvfølgelig giver den forskellige fejlmeddelelser ved flere kørsel…

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster