Wine auf Windows 10. Es funktioniert

Wine — ein Programm zum Ausführen von Windows-Anwendungen auf Unix-Computern.

Das Ausführen von Wine auf Windows war der Traum von Fans, die dem Herzen folgen: „Wir tun, was wir müssen, weil wir nicht dazu verpflichtet sind“, mindestens seit 2004, als jemand versuchte, Wine in Cygwin zu kompilieren und die Registry des Host-Systems beschädigte..

Die Ausrede: „Was ist mit alten Anwendungen, die in den neuesten Windows nicht richtig funktionieren?“. Aber wir wissen, dass der wahre Grund ist: „Ich habe lange für meine Kunst gelitten, jetzt seid ihr dran“.

Ende 2008 hatten mich obsessive Gedanken überwältigt – und ich (scheinbar war ich das) erstellte eine Seite WineOnWindows im Wine-Wiki. Kurz gesagt: Das war insgesamt unmöglich, da alles über Cygwin, MinGW oder Windows Services für Unix funktionierte. Die aktuelle Seite ist nicht viel erfolgreicher.

Windows 10 führte das Windows-Subsystem für Linux ein, und Ubuntu kann bequem aus dem Microsoft Store heruntergeladen werden. Infolgedessen wird unsere dumme Idee praktisch von selbst umgesetzt, man muss nur die Umgebungsvariable DISPLAY manuell setzen.

Bis jetzt ist es erschreckend nutzlos. Wine funktioniert nur mit 64-Bit-Windows-Anwendungen, das heißt, nicht einmal alle Anwendungen, die nur zu Windows 10 gehören.

(Das ursprüngliche Projekt startete, nachdem jemand versuchte, Encarta 97 auf Windows 10 zu starten. So wie jede echte Geek-Lösung, löst es in Wirklichkeit nicht das ursprüngliche Problem des Benutzers).

Ich möchte jedoch noch einmal betonen: jetzt funktioniert es trivial.. Ich bin kein verrückter Genie, das ein fantastisches Projekt umgesetzt hat – ich scheine nur der erste zu sein, der dies öffentlich bekannt gegeben hat.

Wie man dieses dumme Ding macht

1. Sie haben 64-Bit-Windows 10, richtig? Das ist die einzige Version mit WSL.

2. Installieren Sie WSL. Systemsteuerung -> Programme -> Programme und Funktionen -> Windows-Funktionen aktivieren oder deaktivieren. Setzen Sie ein Häkchen bei „Windows-Subsystem für Linux“. Starten Sie Windows neu.

3. Gehen Sie zum Microsoft Store, installieren Sie Ubuntu (hauptsächlich, um es zu starten und WSL zu erstellen). Ich habe Ubuntu 18.04 LTS installiert. Öffnen Sie Ubuntu, und Sie sehen das Bash-Terminal.

4. Installieren Sie Folgendes über die Bash-Befehlszeile:

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

Sie können eine aktuellere Version von Wine installieren, wenn Sie möchten sich mit Blödsinn beschäftigen. (Vergessen Sie nicht die beiden neuen Bibliotheken, die für wine-devel >=4.5 benötigt werden und die noch nicht in Ubuntu enthalten sind!). Lassen Sie mich wissen, ob das funktioniert.

5. Fügen Sie zu Ihrem .bashrc diese Zeile hinzu:

export DISPLAY=:0.0

Wahrscheinlich möchten Sie das auch im aktuellen Bash-Fenster ausführen.

6. Installieren Sie VcXsrv, eine schön verpackte Version von xorg, die für Windows kompiliert wurde. Laden Sie einfach die neueste Version der ausführbaren Datei herunter und führen Sie sie aus. Starten Sie den X-Server über die Schaltfläche "Start" und XLaunch. Es führt Sie durch die Standardeinstellungen – lassen Sie die meisten davon so, wie sie sind. Ich habe zur Sicherheit das Kontrollkästchen "Zugriffskontrolle deaktivieren" aktiviert. Speichern Sie die Konfiguration.

6a. Wenn Sie überprüfen möchten, ob der X-Server richtig konfiguriert ist, installieren Sie sudo apt install x11-apps und führen Sie aus xeyes für einen kurzen Ausflug zurück in die 80er und 90er.

7. Wine funktioniert nicht, weil 32-Bit-Binärdateien in WSL nicht ausgeführt werden. Auf unserem 64-Bit-Windows 10 wird ein Fehler ausgegeben. Offensichtlich wurde das /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format errorin WSL 2 behoben. In der Zwischenzeit lassen Sie uns den Notepad in Wine starten!.

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

ZU TUN:

Wine auf Windows 10. Es funktioniert

32-Bit-Unterstützung. Wir müssen auf die Veröffentlichung von WSL 2 warten. Ich bin neugierig, ob alte Win16-Programme funktionieren werden – theoretisch sollten sie in Wine lauffähig sein, auch wenn sie in Windows nicht mehr laufen.32-Bit-Anwendungen über qemu

an den anonymen Kommentator

Danke , der vorgeschlagen hat, wie man 32-Bit-Anwendungen starten kann.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

Und jetzt können wir machen:

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

Allerdings funktioniert Encarta 97 trotzdem nicht:

fun@DESKTOP-7F6DU8P:/mnt/e$ wine SETUP.EXE wine: Unbehandelter Seitenfehler beim Lesezugriff auf 0xffffffff an Adresse 0x11df:0x00002c11 (Thread 0011), Debbugger startet... 0011:err:seh:start_debugger Konnte den Debugger nicht starten ("winedbg --auto 15 108") (2) Lesen Sie den Wine-Entwicklerleitfaden, um zu erfahren, wie Sie winedbg oder einen anderen Debugger einrichten.

Für die Wissenden:

file SETUP.EXE: MS-DOS-Executable, NE für MS Windows 3.x sagen , also müssen wir uns auf seltene 16-Bit-Programme herunterarbeiten.Encarta 97 wird problemlos in Wine 4.13 unter Linux installiert und ausgeführt... aber in 4.13 unter Windows 10 funktioniert es immer noch nicht:

.

fun@DESKTOP-7F6DU8P:~$ wine /mnt/e/SETUP.EXE
Xlib: Erweiterung "MIT-SHM" fehlt auf Anzeige ":0.0".
Xlib: Erweiterung "MIT-SHM" fehlt auf Anzeige ":0.0".
0009:err:process:__wine_kernel_init Boot-Ereignis wartezeit abgelaufen
001d:err:process:__wine_kernel_init Boot-Ereignis wartezeit abgelaufen
wine: Unbehandelter Seitenfehler beim Lesen von 0xffffffff an Adresse 0x11cf:0x00002c11 (Thread 001e), Debugger wird gestartet...001e:err:seh:start_debugger Debugger konnte nicht gestartet werden ("winedbg --auto 28 152") (2)
Lesen Sie das Wine-Entwicklerhandbuch, wie Sie winedbg oder einen anderen Debugger einrichten
001d:err:ntdll:RtlpWaitForCriticalSection Abschnitt 0x7e6273e0 "syslevel.c: Win16Mutex" wartezeit abgelaufen im Thread 001d, blockiert von 001e, wird erneut versucht (60 Sek.)
Xlib: Erweiterung "MIT-SHM" fehlt auf Anzeige ":0.0".
Konnte wine-gecko nicht laden. HTML-Darstellung wird deaktiviert.
001e:err:seh:raise_exception Unbehandelter Ausnahmefehlercode c0000005 Flags 0 Addr 0x7b4a6abc
wine-Client-Fehler:1e: Schreiben: Falscher Dateideskriptor

Natürlich gibt er aus verschiedene Fehlermeldungen bei mehreren Starts…

Quelle: habr.com

60GB SSD 8Gb DDR4