📚 Wie Sie Windows-Software in Linux nutzen
💡 Newskategorie: Windows Tipps
🔗 Quelle: pcwelt.de
Wine ist kein Emulator wie Qemu oder eine Virtualisierungsumgebung wie Virtualbox, sondern eine Laufzeitumgebung, welche die Windows-API unter Linux nachbilden will. Diese API-Abbildung ist zwar nicht vollständig, aber umfassend genug, damit viele Windows-Programme auf dem Linux-Desktop laufen.
Begonnen hatte Wine als Hobbyprojekt schon vor 30 Jahren zur Zeit von Windows 3.1 mit seiner 16-Bit-API. Nach einem einfachen „Hello World“-Programm gelang es schnell, Solitär zum Laufen zu bringen. Mit Windows 95 musste Wine die neue 32-Bit-API unterstützen und zeigte schon bald beeindruckende Teilerfolge, sodass Corel von 1999 bis 2000 in die Weiterentwicklung von Wine investierte, um es für das damals populäre Wordperfect zu verwenden.
Gaming unter Linux: Eine echte Alternative zum Spielen unter Windows?
Zwischenzeitlich zerfiel die Weiterentwicklung in kommerzielle Zweige, was viele Open-Source-Entwickler vergraulte und die Fortschritte behinderte. Wiederbelebt wurde Wine 2006 von Google, denn Wine diente damals für die Linux-Version von Picasa als Kompatibilitätsschicht. Google sparte sich damit eine komplette Portierung von Picasa auf Linux.
IDG
Heute ist die Spieleszene und vor allem Valve mit der Wine-basierten Kompatibilitätsschicht Proton die treibende Kraft hinter Wine. Denn Microsofts Büropaket MS Office steht nicht mehr im Fokus, nachdem mit Office 365 eine Cloudvariante im Browser läuft – auch unter Linux. Für Spiele gilt das nicht – und deshalb geht die Entwicklung von Wine unverdrossen weiter.
Fortschritte von Wine 8
Die jetzt vorliegende Version 8 von Wine markiert einen Meilenstein in der Entwicklung und unterstützt wieder mehr aktuelle Programme und Spiele. Möglich macht dies der Umbau der Wine-Module in das Format der „Portable Executables“, das einige Spiele voraussetzen. Zudem kann Wine jetzt 32-Bit-Programme in seiner 64-Bit-Umgebung ausführen, ohne dazu auf dem Hostsystem alle verlangten Bibliotheken auch nochmal in 32 Bit installieren zu müssen.
IDG
Der Beitrag zeigt deshalb die Einrichtung einer aktuellen Wine-Ausgabe in Ubuntu 22.04/23.04 und die ersten Schritte zur Konfiguration dieser Umgebung für Windows-Programme. Wine simuliert heute alle Windows-Versionen von XP bis 11, wobei die Nachbildung von Windows 10/11 noch nicht in allen Details gereift ist.
Appdb: Funktioniert ein Windows- Programm?
Einfache Anwendungen laufen nach einer Installation mit wenig Vorbereitung sofort und problemlos, komplexe Programme benötigen oft noch etwas manuelle Konfiguration. Für schwierige Kandidaten wie beispielsweise Adobe Photoshop, das in der Version CS6 auch gut unter Linux mit Wine 8 läuft, gibt es Alternativen und Installationshilfen. Denn auch wenn die Fortschritte der Wine-Entwickler erstaunlich sind, so gibt es in der Praxis immer noch etliche Programme, die Ausnahmeregeln bei den genutzten Bibliotheken verlangen.
Ob ein Windows-Programm in Wine läuft, muss nicht empirisch durch Ausprobieren ermittelt werden. Es lohnt sich vor der Installation und der Beschäftigung mit Wine immer ein Blick in die durchsuchbare Anwendungsdatenbank http://appdb.winehq.org.
Sie zeigt, wie gut oder schlecht es um die Unterstützung für bestimmte Programme steht. Anwendungen erhalten je nach ermittelten Funktionen, die experimentierfreudige Wine-Anwender der Webseite melden, einen Status nach den Kategorien Platin, Gold, Silber, Bronze oder Garbage (Müll). Alle Anwendungen, die unterhalb des Gold-Status eingeordnet sind, laufen üblicherweise erst nach einigen Klimmzügen oder unter Wine-Alternativen wie Crossover. Viele Einträge zeigen nach einem Klick auf „Show“ eine Minianleitung mit (englischsprachigen) Installationshinweisen, die auch mal anspruchsvoll ausfallen kann. Wichtig ist immer auch die angegebene Versionsnummer von Wine, denn viele Programme laufen erst ab neueren Versionen wie 7 oder 8.
Eye Candy: Warum Linux schöner ist als Windows und macOS
Crossover: Für schwierige Fälle
Ein auf Wine basierendes Hilfsprogramm, an welchem auch maßgebliche Wine-Entwickler arbeiten, ist das kommerzielle Crossover von Codeweavers. Dabei handelt es sich nicht einfach um eine Abspaltung des originalen Wine-Quellcodes, sondern um eine Erweiterung. Diese liegt immer nah am aktuellen Wine, hat aber zur verbesserten Kompatibilität für Windows-Programme einige Bibliotheken mehr an Bord.
IDG
Crossover ist auf typische Büroanwendungen wie Microsoft Office spezialisiert. Es bietet eine grafische Oberfläche für Installation und Verwaltung von Windows-Programmen. Crossover ist nicht Open Source, sondern ein kommerziell vertriebenes Programm, das ab 74 Euro zu haben ist. Eine 14 Tage lauffähige Evaluationsversion ermöglicht einen kostenlosen Test (nach Registrierung mit Mailadresse).
Für die verschiedenen Linux-Distributionen liefert Codeweavers jeweils ein passendes Binärpaket als RPM und DEB. Nach der einfachen Installation über den Paketmanager übernimmt eine grafische Oberfläche die weitere Einrichtung, etwa für die benötigten Truetype-Schriften. Welche Programme speziell mit Crossover wirklich funktionieren, zeigt die Suche unter www.codeweavers.com/compatibility. Die Entwickler weisen darauf hin, dass Crossover 22.x noch auf Wine 7.7 basiert (auf Wine 8 erst Crossover 23, das Ende 2023 erscheinen soll).
Ubuntu: Das neueste Wine installieren
Wine liegt ausgerechnet in Ubuntu (und Linux Mint) nur in einer veralteten Version in den Standard-Paketquellen. Wir wollen uns hier mit nicht weniger als dem neuesten Wine zufriedengeben, direkt von den Entwicklern. Der erste Schritt dorthin ist die Aufnahme von 32-Bit-Paketquellen, denn Wine 8 verlangt zur besten Kompatibilität immer noch eine ganze Latte an Bibliotheken für diese Architektur:
sudo dpkg --add-architecture i386
Ein Verzeichnis für die Signaturen der Wine-Pakete erstellt der Befehl
sudo mkdir -p /etc/apt/keyrings
und
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
lädt den Schlüsselbund zur Verifizierung der Pakete herunter. Die Aufnahme der Paketquellen in Ubuntu erfolgt unter Angabe des Codenamens der Ubuntu-Version, „jammy“ für Ubuntu 22.04 LTS und auch für Linux Mint:
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.source
Ubuntu 23.04 (ab April 2023) verlangt stattdessen nach der Angabe „lunar“ statt „jammy“. Anschließend installieren die beiden Kommandos
sudo apt update
sudo apt install --install-recommends winehq-stable
die jeweils neueste stabile Wine-Version.
Wine-Umgebung konfigurieren
IDG
Nach der Installation von Wine ist der erste Schritt der Start des Konfigurationsprogramms winecfg. Das Programm legt eine Umgebung für Wine im versteckten Ordner „.wine“ im Home-Verzeichnis an. Dort legt es eine Abbildung der Windows-Registry in Form von Textdateien an sowie im Unterverzeichnis „~/.wine/drive_c“ die Anwendungsdateien zukünftig installierter Programme. Zudem überprüft winecfg die Laufzeitumgebung auf Vollständigkeit und bietet beispielsweise an, die .NET-Runtime Wine-Mono zu installieren, was in einem Dialog bestätigt werden muss.
Die erste Standardkonfiguration erstellt winecfg so selbständig und zeigt dann den weiteren Einstellungsdialog im Stil von Windows an. Hier stehen die wichtigsten Optionen zum Feintuning bereit – etwa um die Darstellung anzupassen, ein Audiogerät für die Soundausgabe auszuwählen oder originale Windows-Bibliotheken hinzuzufügen. Ein wichtiger Punkt ist die Zuordnung von virtuellen Laufwerksbuchstaben zu Verzeichnissen, die unter „Laufwerk“ erfolgt. Dieser Punkt kann dann nötig sein, wenn ein Windows-Programm zur Installation oder zum Start nach einer eingelegten Setup- CD fragt.
Winetricks: Wichtige Einstellungen
Das Werkzeug winecfg bildet aber nur einen kleinen Teil der Einstellungen ab und viele Optionen lassen sich nur direkt in den Konfigurationsdateien von Wine bearbeiten. Ein handliches Script namens „winetricks“ nimmt Anwendern über einfache, grafische Menüs häufig benötige Aufgaben und Anpassungen ab. Das Script ist distributionsübergreifend, verlangt aber nach den Paketen „zenity“ und „cabextract“, welche in Ubuntu/Mint mit
sudo apt install zenity cabextract
nachgerüstet werden.
Sie installieren das Script am besten in seiner aktuellen Version direkt vom Server der Entwickler. In der Shell geben Sie dazu
wget http://winetricks.org/winetricks
an, um die Script-Datei „winetricks“ ins aktuelle Verzeichnis herunterzuladen, wo Sie es dann mittels
sh winetricks
starten.
Nach der Frage, ob Aktionen zur statistischen Auswertung an die Wine-Entwickler gesendet werden sollen, stehen die wichtigen Optionen über den Punkt „Standard Winepräfix auswählen“ bereit. Das folgende Menü erlaubt die Installation von häufig benötigten DLLs und Schriftarten, so wie es die Installationsleitungen der Appdb-Datenbank jeweils darlegen. Zur Abkürzung lässt sich „winetricks“ aber auch mit Kommandozeilenparametern starten.
Tipps: Die meisten Windows-Programme verlangen nach den Standardschriftarten, welche unter „Schriftart installieren –› corefonts“ zur Installation bereitstehen. Zudem sind über „Wine Einstellungen ändern“ weitere Wine-Parameter editierbar. Es empfiehlt sich, hier „fontsmooth=gray“ zu aktivieren, weil dies die Darstellung von Schriften in Windows-Programmen deutlich verbessert.
IDG
Eigene Umgebungen für Programme
Windows-Programme, die viele eigene Bibliotheken und Einstellungen brauchen, können damit wiederum anderen funktionierenden Anwendungen in Wine gefährlich werden. Wine bietet daher die Möglichkeit mehrerer unabhängiger Umgebungen mit eigenen Verzeichnissen an („Präfix“). Um eine neue Wine-Umgebung zu erstellen, beispielsweise als „.wine-test“, dient im Terminalfenster dieser Aufruf:
env WINEPREFIX=~/.wine-test winecfg
Das Verzeichnis „~/.wine-test“ wird dabei automatisch erstellt und mit einer Standardkonfiguration ausgestattet. Damit diese alternative Umgebung auch bei der weiteren Konfiguration mit winecfg oder „winetricks“ zur Verwendung kommt, muss es beim Aufruf der Tools angegeben werden:
env WINEPREFIX=~/.wine-test sh winetricks
Auch zum Ausführen von Setupprogrammen oder von Windows-Anwendungen ist das Präfix wichtig:
env WINEPREFIX=~/.wine-test wine /media/cdrom/setup.exe
Bei automatisch angelegten Programmstartern für eine installierte Anwendung ergänzt Wine das passende Präfix als Startparameter automatisch.
Ein Präfix dient auch dazu, getrennte Umgebungen für 32 Bit unter 64-Bit-Systemen anzulegen. Winecfg erstellt nämlich standardmäßig eine 64-Bit-Umgebung für Wine, unter der einige 32-Bit-Programme nicht laufen – auch nicht im neuesten Wine 8. Um gezielt eine 32-Bit-Umgebung im Ordner „~/.wine32“ für ältere Windows-Software anzulegen, dient folgendes Kommando:
WINEPREFIX=~/.wine32 WINEARCH='win32' winecfg
Ebenso muss Winetricks mit der Angabe des Präfixes gestartet werden, um hier Schriften oder DLLs zu installieren beziehungsweise Optionen festzulegen:
WINEPREFIX=~/.wine32 WINEARCH='win32' winecfg
Tipps: Es empfiehlt sich zum Experimentieren immer, Programme in ihre eigenen Wine-Präfixe zu installieren, um andere Windows-Anwendungen nicht zu beeinträchtigen. Wenn ein Programm partout nicht funktionieren will, so löscht man einfach das Verzeichnis mit dem jeweiligen Präfix vom Datenträger. Ein Verzeichnis kann auch als Ganzes gesichert oder auf einen anderen Linux-Rechner mit Wine übertragen werden, denn das Wine-Präfix enthält immer alle Einstellungen und Dateien.
Leihgaben: Originale DLLs nachrüsten
Wine darf aus lizenzrechtlichen Gründen keine Windows-Komponenten ausliefern. Einige Windows-Programme haben aber spezielle Ansprüche, denen die API auch bei Wine 8 nicht genügt. Sie verlangen nach originalen Bibliotheken von Windows.
Eine Reihe von Bibliotheken bietet „winetricks“ über das Untermenü „Windows- DLL installieren“ und lädt dazu in den meisten Fällen ein Updatepaket von den Microsoft-Servern herunter. Verlangt ein Programm eine sehr spezielle DLL, dann kann man die Bibliothek auch aus einem bestehenden Windows-System in das Wine-Verzeichnis „~/.wine/drive_c/windows/system32“ kopieren. Danach geht es in die Konfiguration von winecfg, um dort unter „Bibliotheken –› Neue Überschreibung für“ die gewünschte Bibliothek auszuwählen. Der Punkt „Festlegen“ erstellt eine neue Regel, die Sie dann mit „Bearbeiten“ ändern können. Die Einstellung „Native“ nutzt die vorhandene, originale Windows-DLL im Unterordner „system32“ anstatt der eingebauten Bibliothek von Wine 8. Das Script „winetricks“ erstellt diese Regeln bei der Installation von DLLs selbständig.
Playonlinux: Installationshilfe
IDG
Eine weitere Möglichkeit, eine Auswahl besonders populärer Windows-Programme in Wine einzurichten, bietet das Front-End Playonlinux. Es liefert Installationshilfen, um auch schwierige Kandidaten mit vielen Anpassungen zum Laufen zu überreden. Die nötigen Wine-Einstellungen übernimmt Playonlinux selbständig und installiert einzelne Anwendungen in ihre eigenen Wine-Umgebungen (Präfix). Leider liegt die Entwicklung von Playonlinux schon eine Weile brach. Nur in Ubuntu und Linux Mint ist es noch in den Standardquellen enthalten und über das Softwarecenter oder über die Befehlszeile mit
sudo apt install playonlinux
zu installieren.
Virtuelle Maschinen: Windows komplett
Scheitern Wine oder Crossover an Windows-Programmen, die für die eigene Arbeit enorm wichtig sind, dann bietet sich immer noch eine virtuelle Maschine an. Ein dort installiertes Windows hat zwar nur Zugriff auf emulierte Hardware, aber der Performanceverlust fällt auf modernen Rechnern kaum auf. Die einfachste Lösung zur Virtualisierung unter Linux ist Oracle Virtualbox. Um nicht dauernd mit einem zusätzlichen Fenster zu hantieren, in welchem ein virtualisiertes Windows läuft, kann unter Linux der „Seamless“ Modus genutzt werden. Dieser blendet einzelne Programmfenster aus der VM auf dem Linux-Desktop ein.