â 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 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 im Wine-Wiki. Kurz gesagt: Das war insgesamt unmöglich, da alles ĂŒber Cygwin, MinGW oder Windows Services fĂŒr Unix funktionierte. 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-stableSie können eine aktuellere Version von Wine installieren, wenn Sie möchten (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.0Wahrscheinlich möchten Sie das auch im aktuellen Bash-Fenster ausfĂŒhren.
6. , 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. . Offensichtlich wurde das /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format errorin WSL 2 behoben. .
wine64 /usr/lib/x86_64-linux-gnu/wine/fakedlls/notepad.exe
ZU TUN:

32-Bit-UnterstĂŒtzung. Wir mĂŒssen auf die Veröffentlichung von WSL 2 warten. 32-Bit-Anwendungen ĂŒber qemu
an den anonymen Kommentator
Danke 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
