— et program til at starte applikationer Windows på Unix-computere.
Kører Vin på Windows har været drømmen for fans, der følger "Vi gør, hvad vi skal, fordi vi ikke behøver"-ånden, siden mindst 2004, hvor nogen forsøgte at kompilere Wine ind i Cygwin og .
Undskyldning: "Hvad med de gamle apps, der ikke fungerer korrekt i de nyeste versioner?" Windows"Men vi forstår det godt" rigtigt grunden er "Jeg led i lang tid for min kunst, nu er det din tur."
I slutningen af 2008 blev jeg overvældet af en tvangstanke - og jeg (jeg tror det var mig) oprettede en side på Wine wiki. Kort sagt: det var fuldstændig umuligt, da alt fungerede via Cygwin, MinGW eller Windows Tjenester til Unix. ikke meget mere vellykket.
Windows 10 introducerede et delsystem Windows for LinuxOg Ubuntu Vores fjollede idé, der nemt kan downloades fra Microsoft Store, fungerer praktisk talt automatisk, med undtagelse af manuel indstilling af DISPLAY-miljøvariablen.
Det er stadig fuldstændig ubrugeligt. Wine fungerer kun med 64-bit applikationer. Windows, det vil sige, ikke engang med alle de applikationer, der følger med selve systemet Windows 10.
(Det oprindelige projekt startede efter at nogen ikke kunne få Encarta 97 til at køre på Windows 10Så, ligesom enhver rigtig nørdet løsning, løser den faktisk ikke brugerens oprindelige problem.)
Men jeg vil gerne understrege igen: nu virker det trivielt. Jeg er ikke et skørt geni, der har realiseret et fantastisk projekt – jeg ser bare ud til at være den første til offentligt at annoncere dette faktum.
Hvordan gør man denne dumme ting
1. Du har 64-bit Windows 10, ikke? Dette er den eneste version med WSL.
2. Installer WSL. Kontrolpanel -> Apps -> Programmer og funktioner -> Slå funktioner til eller fra WindowsMarkér feltet "Undersystem" Windows for Linux"Genstart" Windows.
3. Gå til Microsoft Store, installer Ubuntu (WSL er grundlæggende designet til at køre det). Jeg installerede Ubuntu 18.04 LTS. Åben Ubuntu, og du vil se bash-terminalen.
4. Installer følgende fra bash-kommandolinjen:
sudo dpkg --add-architecture i386
sudo apt update; sudo apt upgrade
sudo apt install wine-stableDu kan installere en mere aktuel version af Wine, hvis du vil (glem ikke to nye biblioteker, der er nødvendige for wine-devel >=4.5, og som endnu ikke er inkluderet i Ubuntu!). Lad mig vide om det virker.
5. Tilføj til din .bashrc denne linje:
export DISPLAY=:0.0Du vil sikkert også køre dette i det aktuelle bash-vindue.
6. , en pænt pakket version af xorg kompileret til Windows, skal du bare hente den nyeste version af den eksekverbare fil og køre den. Start X Server via Start-knappen og XLaunch. Den vil gennemgå standardindstillingerne – lad de fleste af dem være som de er. Jeg har markeret feltet "Deaktiver adgangskontrol" for en sikkerheds skyld. Gem konfigurationen.
6a. Hvis du vil kontrollere, at X-serveren er konfigureret korrekt, skal du installere sudo apt install x11-apps og løb xeyes for en hurtig tur tilbage til 80'erne og 90'erne.
7. Sig selv wine virker ikke pga På vores 64-bit Windows 10 der vises en fejl /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. Det er det åbenbart .
Lad os i mellemtiden starte Notesblok i vin!
wine64 /usr/lib/x86_64-linux-gnu/wine/fakedlls/notepad.exe

AT GØRE: 32-bit support. Vi bliver nødt til at vente Jeg spekulerer på, om gamle Win16-programmer vil virke - de burde køre i Wine, selvom de ikke længere virker i Wine selv. Windows.
32-bit applikationer via qemu
Tak , der foreslog, hvordan man nærmer sig lancering af 32-bit applikationer.
sudo apt install qemu-user-static sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic 'x7fELFx01x01x01x03x00x00x00x00x00x00x00x00x03x00x03x00x01x00x00x00x8xXNUMXxXNUMXxXNUMXx ffxffxffxffxffxffxfcxffxffxffxffxffxffxffxffxfXNUMXxffxffxffxffxffxffxff' sudo service binfmt-support start
Og nu kan vi gøre:
fun@DESKTOP-7F6DU8P:~$ vin --version vin-3.0 (Ubuntu 3.0-1ubuntu1)
Encarta 97 virker dog stadig ikke:
fun@DESKTOP-7F6DU8P:/mnt/e$ vin SETUP.EXE vin: Ubehandlet sidefejl ved læseadgang til 0xffffffff på adressen 0x11df:0x00002c11 (tråd 0011), start af debugger... 0011:err:seh:start_debugger Couldn'debugger start debugger ("winedbg --auto 15 108") (2) Læs Wine Developers Guide om, hvordan du opsætter winedbg eller en anden debugger For dem der ved: file Han taler SETUP.EXE: MS-DOS executable, NE for MS Windows 3.x, så vi er nødt til at gå ned til sjældne 16-bit programmer.
Encarta 97 installeres og kører fejlfrit i Wine 4.13. Linux... men klokken 4.13 Windows 10 stadig nej:
fun@DESKTOP-7F6DU8P:~$ vin /mnt/e/SETUP.EXE Xlib: udvidelse "MIT-SHM" mangler på displayet ":0.0". Xlib: udvidelse "MIT-SHM" mangler på displayet ":0.0". 0009:err:proces:__wine_kernel_init starthændelse vente timeout 001d:err:process:__wine_kernel_init starthændelse vente timeout vin: Ubehandlet sidefejl på læseadgang til 0xffffffff på adressen 0x11cf:0x00002c11 (tråd 001 de001e) :err:seh:start_debugger Kunne ikke starte debugger ("winedbg --auto 28 152") (2) Læs Wine Developers Guide om, hvordan du opsætter winedbg eller en anden debugger 001d:err:ntdll:RtlpWaitForCriticalSection sektion 0x7e6273vel. c: Win0Mutex" ventetiden udløb i tråd 16d, blokeret af 001e, prøver igen (001 sek.) Xlib: udvidelse "MIT-SHM" mangler på displayet ":60". Kunne ikke indlæse vingekko. HTML-gengivelse vil blive deaktiveret. 0.0e:err:seh:raise_exception Ubehandlet undtagelseskode c001 flag 0000005 adr 0x0b7a4abc vinklientfejl:6e: skriv: Dårlig filbeskrivelse Selvfølgelig giver han anderledes fejlmeddelelser i flere kørsler...
Kilde: www.habr.com
