— programma per eseguire applicazioni Windows su computer Unix.
Eseguire Wine su Windows è stato un sogno per i fan che seguono il richiamo del cuore: «Facciamo ciò che dobbiamo perché non siamo obbligati a farlo», almeno dal 2004, quando qualcuno ha tentato di compilare Wine in Cygwin e .
Giustificazione: «E le vecchie applicazioni che non funzionano correttamente sulle ultime versioni di Windows?». Ma noi sappiamo che la vera ragione è «Ho sofferto a lungo per la mia arte, ora è il vostro turno».
Alla fine del 2008, sono stato assalito da un pensiero ossessivo - e io (sembra fossi io) ho creato una pagina sulla wiki di Wine. In breve: Era praticamente impossibile, poiché tutto funzionava tramite Cygwin, MinGW o Windows Services per Unix. non è molto più riuscita.
Windows 10 ha introdotto il sottosistema Windows per Linux, e Ubuntu è facilmente scaricabile dal Microsoft Store. Di conseguenza, la nostra sciocca idea si realizza praticamente da sola, tranne per il fatto che bisogna installare manualmente la variabile ambiente DISPLAY.
Fino ad ora è incredibilmente inutile. Wine funziona solo con le applicazioni Windows a 64 bit, ovvero nemmeno con tutte le applicazioni che fanno parte di Windows 10 stesso.
(Il progetto iniziale è partito dopo che qualcuno non è riuscito a far partire Encarta 97 su Windows 10. Così, come ogni vera soluzione da nerd, in realtà non risolve il problema originale dell'utente).
Ma voglio sottolineare ancora una volta: ora funziona in modo banale. Non sono un genio folle che ha realizzato un progetto fantastico - semplicemente, sembra che io sia stato il primo a dichiarare pubblicamente questo fatto.
Come fare questa sciocchezza
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 e disattivazione delle funzionalità di Windows. Seleziona «Sottosistema Windows per Linux». Riavvia Windows.
3. Vai su Microsoft Store, installa Ubuntu (principalmente per avviarlo e creare WSL). Ho installato Ubuntu 18.04 LTS. Apri Ubuntu e vedrai il terminale bash.
4. Installa il seguente comando nella riga di comando bash:
sudo dpkg --add-architecture i386
sudo apt update; sudo apt upgrade
sudo apt install wine-stablePuoi installare una versione più recente di Wine, se vuoi (non dimenticate le due nuove librerie necessarie per wine-devel >=4.5, che non sono ancora incluse in Ubuntu!). Fatemi sapere se funziona.
5. Aggiungete alla vostra .bashrc questa riga:
export DISPLAY=:0.0Probabilmente vorrete eseguire anche questo nella shell bash attuale.
6. , una versione ben confezionata di xorg, compilata per Windows: basta prendere l'ultima versione dell'eseguibile e lanciarlo. Avviate X Server tramite il pulsante 'Start' e XLaunch. Vi guiderà attraverso le impostazioni predefinite - lasciate la maggior parte di esse come sono. Ho spuntato 'Disabilita il controllo accessi' per precauzione. Salvate la configurazione.
6a. Se volete verificare che il server X sia configurato correttamente, installate sudo apt install x11-apps e eseguire xeyes per un breve viaggio negli anni '80 e '90.
7. Il wine non funziona, perché . Sulle nostre Windows 10 a 64 bit appare un errore /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. Evidentemente, questo .
Ma nel frattempo, avviamo il Blocco note in Wine!
wine64 /usr/lib/x86_64-linux-gnu/wine/fakedlls/notepad.exe

DA FARE: supporto a 32 bit. Dovrete aspettare . È interessante vedere se le antiche applicazioni Win16 funzioneranno — teoricamente dovrebbero avviarsi in Wine, anche se non funzionano più su Windows.
Applicazioni a 32 bit tramite qemu
Grazie , che ha suggerito come affrontare l'esecuzione di 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)
Comunque, Encarta 97 continua a non funzionare:
fun@DESKTOP-7F6DU8P:/mnt/e$ wine SETUP.EXE
wine: Fault 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)
Leggete la Guida per sviluppatori di Wine su come configurare winedbg o un altro debugger. Per chi è del settore: file sottolinea SETUP.EXE: eseguibile MS-DOS, NE per MS Windows 3.x, quindi dobbiamo tornare alle rare applicazioni 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 va:
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 page fault 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 per gli 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à disabilitato.
001e:err:seh:raise_exception Codice eccezione non gestito c0000005 flag 0 addr 0x7b4a6abc
errore client wine:1e: scrittura: Descrittore file errato Certo, restituisce diverse segnalazioni di errore in diversi avvii…
Fonte: habr.com
