Wine su Windows 10. Funziona

Wine – un programma per eseguire applicazioni Windows su computer Unix.

L'esecuzione di Wine su Windows è stata un sogno per i fan che seguono il richiamo del cuore "Facciamo quello che dobbiamo, perché non siamo obbligati a farlo", almeno dal 2004, quando qualcuno ha provato a compilare Wine in Cygwin e ha danneggiato il registro di sistema dell'host.

Giustificazione: "E le vecchie applicazioni che non funzionano correttamente nelle ultime versioni di Windows?". Ma noi capiamo che la vera ragione è "Ho sofferto a lungo per il mio arte, ora è il vostro turno".

Alla fine del 2008, sono stato afflitto da un'idea ossessiva – e io (sembra fossi io) ho creato una pagina WineOnWindows sul wiki di Wine. In breve: Era praticamente impossibile, dato che tutto funzionava tramite Cygwin, MinGW o Windows Services per Unix. La pagina attuale non è molto più riuscita.

Windows 10 ha introdotto la sottosistema Windows per Linux, e Ubuntu si scarica comodamente dal Microsoft Store. Di conseguenza, la nostra idea sciocca si realizza praticamente da sola, eccetto per il fatto che deve essere impostata manualmente la variabile d'ambiente DISPLAY.

Fino ad ora è completamente inutile. Wine funziona solo con applicazioni Windows a 64 bit, quindi nemmeno con tutte le applicazioni incluse in Windows 10.

(Il progetto originale è iniziato dopo che qualcuno non è riuscito a far partire Encarta 97 su Windows 10. Dunque, come qualsiasi vera soluzione geek, in realtà non risolve il problema originale dell'utente).

Ma voglio sottolineare ancora una volta: adesso funziona in modo banale. Non sono un genio pazzo che ha realizzato un progetto fantastico — semplicemente, sembriamo essere i primi a dichiarare pubblicamente questo fatto.

Come fare questa cosa stupida

1. Hai Windows 10 a 64 bit, giusto? Questa è l'unica versione con WSL.

2. Installa WSL. Pannello di controllo -> Applicazioni -> Programmi e funzionalità -> Attivazione o disattivazione delle funzionalità di Windows. Seleziona "Sottosistema Windows per Linux". Riavvia Windows.

3. Vai su Microsoft Store, installa Ubuntu (fondamentalmente, per avviarla e creare WSL). Ho installato Ubuntu 18.04 LTS. Apri Ubuntu e vedrai il terminale bash.

4. Installa quanto segue dalla linea di comando bash:

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

Puoi installare una versione più aggiornata di Wine, se vuoi. perdere tempo. (non dimenticare le due nuove librerie necessarie per wine-devel >= 4.5 che non sono ancora incluse in Ubuntu!). Fammi sapere se funziona.

5. Aggiungi a tuo .bashrc questa riga:

export DISPLAY=:0.0

Probabilmente vorrai eseguire questo anche nella finestra bash attuale.

6. Installa VcXsrv, una versione elegantemente impacchettata di xorg, compilata per Windows—prendi semplicemente l'ultima versione eseguibile e avviala. Avvia il server X tramite il pulsante «Start» e XLaunch. Ti guiderà attraverso le impostazioni predefinite—lascia la maggior parte di esse così come sono. Io, per scrupolo, ho selezionato «Disabilita il controllo accesso». Salva la configurazione.

6a. Se vuoi verificare che il server X sia configurato correttamente, installa sudo apt install x11-apps e avvia xeyes per un breve viaggio nel passato degli anni '80 e '90.

7. Io wine non funziona perché i binari a 32 bit non si avviano su WSL.Sul nostro Windows 10 a 64 bit appare il messaggio di errore. /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format errorSembra che questo sia stato risolto in WSL 2..

Ma per ora avviamo il Blocco note in Wine!

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

Wine su Windows 10. Funziona

DA FARE: Supporto a 32 bit. Dovremo aspettare il rilascio di WSL 2.. È interessante vedere se i vecchi programmi Win16 funzioneranno—dovrebbero avviarsi in Wine, anche se non funzionano più in Windows stesso.

applicazioni a 32 bit tramite qemu

Grazie commentatore anonimo, che ha suggerito come avvicinarsi all'esecuzione delle applicazioni a 32 bit.

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

E ora possiamo fare:

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

Tuttavia, Encarta 97 non funziona ancora:

fun@DESKTOP-7F6DU8P:/mnt/e$ wine SETUP.EXE
wine: errore di pagina non gestito nell’accesso in lettura a 0xffffffff all'indirizzo 0x11df:0x00002c11 (thread 0011), avviando il debugger...
0011:err:seh:start_debugger Impossibile avviare il debugger ("winedbg --auto 15 108") (2)
Leggi la Guida per gli sviluppatori di Wine su come configurare winedbg o un altro debugger

Per chi è del settore: file afferma SETUP.EXE: eseguibile MS-DOS, NE per MS Windows 3.x, quindi dobbiamo scendere a rari programmi a 16 bit.

Encarta 97 si installa e funziona perfettamente in Wine 4.13 su Linux... ma in 4.13 su Windows 10 ancora non funziona:

fun@DESKTOP-7F6DU8P:~$ wine /mnt/e/SETUP.EXE
Xlib: estensione "MIT-SHM" mancante sul display ":0.0".
Xlib: estensione "MIT-SHM" mancante sul display ":0.0".
0009:err:process:__wine_kernel_init attesa dell'evento di avvio scaduta
001d:err:process:__wine_kernel_init attesa dell'evento di avvio scaduta
wine: errore di pagina non gestito durante l'accesso in lettura a 0xffffffff all'indirizzo 0x11cf:0x00002c11 (thread 001e), avviando il debugger...001e:err:seh:start_debugger Impossibile avviare il debugger ("winedbg --auto 28 152") (2)
Leggi la Guida degli sviluppatori di Wine su come impostare winedbg o un altro debugger
001d:err:ntdll:RtlpWaitForCriticalSection sezione 0x7e6273e0 "syslevel.c: Win16Mutex" attesa scaduta nel thread 001d, bloccato da 001e, riprovando (60 sec)
Xlib: estensione "MIT-SHM" mancante sul display ":0.0".
Impossibile caricare wine-gecko. Il rendering HTML sarà disattivato.
001e:err:seh:raise_exception Codice di eccezione non gestito c0000005 flags 0 addr 0x7b4a6abc
errore client wine:1e: write: Descrittore di file non valido

Certo, restituisce diversi messaggi di errore in più esecuzioni…

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster