claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 09/2006   »   Ausgabe bestellen

Windows-Emulator Wine

Ich wollt, ich wär...


Windows-Programme unter Linux starten -- Wine machts möglich, so zumindest die Idee. Ob die Realität tatsächlich so rosig aussieht, zeigt der Bericht.

Thomas Leichtenstern

Die Idee, die hinter Wine [1] steckt, ist, eine simulierte Umgebung zu schaffen (Abbildung 1), in der Windows-Programme laufen. Wine bildet dazu Hardwareschnittstellen nach und stellt eigene, den von Windows nachempfundene Programmbibliotheken die das Ausführen von Programmen ermöglichen. Im Betrieb greift Wine Systemaufrufe der Programme, so genannte System Calls, ab und leitet sie auf die eigenen Schnittstellen um. Da Microsoft den Quellcode der Windows-APIs nicht freigibt, stützen sich viele Nachbildungen auf Vermutungen, wie die Originale funktionieren könnten.

Abb. 1: Wine bildet im Home-Verzeichnis des Anwenders eine Windows-Umgebung nach, in der Windows-Programme laufen.

Das 1993 gegründete Projekt stellte Ende 2005 erstmals eine Beta-Release ihrer Software zum Download bereit. Wurden die Alpha-Versionen nach Datum hochgezählt, beispielsweise 20040523, stiegen die Entwickler nun auf die gängige Zählweise um, aktuell ist die Version 0.9.3.


API: Das Application Programming Interface, kurz API, ist eine Programmierschnittstelle, die den Zugriff auf Funktionen eines anderen Programms ermöglicht.

Wine-Installation

Außer Kubuntu enthalten alle von EasyLinux unterstützten Distributionen Wine auf dem Installationsmedium. Zum Einrichten der Software verwenden Sie den Paketmanager Ihrer Distribution und suchen nach dem Paket wine.

Kubuntu-Anwender gehen wie folgt vor, um Wine auf ihrem System zu installieren:

  1. Starten Sie den Paketmanager Adept.
  1. Öffnen Sie die Paketquellenauswahl über den Menüeintrag Adept / Paketquellen.
  1. Tragen Sie im Eingabefeld am unteren Fensterrand folgende Zeile ein:
    deb http://wine.budgetdedicated.com/apt dapper main
  1. Klicken Sie danach unten rechts auf den Button Anwenden und im Anschluss auf neu laden in der Menüleiste des Fensters.
  1. Abschließend installieren Sie das Paket wine, wie Sie es von anderer Software kennen.

Konfiguration

Zum Einrichten des Programms genügt der Aufruf winecfg in der Konsole (im Schnellstartfenster: [Alt-F2], konsole eintippen). Wenn es das erste Mal läuft, legt das Programm in Ihrem Home-Verzeichnis den versteckten Ordner .wine an und richtet darin die virtuelle Windows-Umgebung ein. Danach startet die Konfigurationsoberfläche mit dem Fenster Anw. hinzufügen bzw. Applications.

Darin legen Sie fest, welche Windows-Version Wine generell emulieren soll, und definieren Ausnahmen für Programme, die eine andere Version erfordern. Klicken Sie dazu auf den Button Anw. hinzufügen und wählen Sie ein Programm aus. Markieren Sie in der Listenansicht danach den Eintrag und wählen Sie aus dem Drop-down-Menü das gewünschte Betriebssystem aus. Als Grundeinstellung hat sich in der Praxis die Einstellung Windows 98 am besten bewährt. Im Fenster Drives bzw. Laufwerke stellen Sie ein, welcher Laufwerksbuchstabe welchem Verzeichnis zugeordnet ist. In der Regel müssen Sie diese Einstellungen nicht verändern. Installieren Sie jedoch Programme, welche die komplette Festplatte nach bereits installierten Versionen durchsuchen, empfiehlt es sich, das Laufwerk z:, dem normalerweise der Systempfad / zugeordnet ist, temporär zu löschen.

Verwenden von Windows Bibliotheken

Wine ermöglicht es, anstelle der eigenen die Bibliotheken von Windows zu verwenden. Speziell bei Software, die den Start wegen fehlerhafter DLLs verweigert, kann dieser Weg zum Erfolg führen. Ist auf Ihrem Rechner ein Windows installiert, importieren Sie die Bibliotheken wie folgt:

  1. Öffnen Sie im Schnellstartfenster ([Alt-F2]) die Konsole mit dem Aufruf kdesu konsole ein Terminalfenster mit Root-Rechten.
  1. Erstellen Sie mit dem Kommando mkdir /media/windows ein Verzeichnis, in dem Sie Ihre Windows-Partition mounten.
  1. Das geschieht mit dem Befehl mount /dev/<Windows-Partition> /media/windows/. Gewöhnlich befindet sich Windows auf /dev/hda1. Wenn Sie nicht sicher sind, geben Sie den Befehl fdisk -l ein, um eine Liste aller vorhandenen Partitionen zu erhalten.
  1. Wechseln Sie im Anschluss mit dem Befehl cd /media/windows/windows/system32/ in das Bibliothekenverzeichnis von Windows (Der Name des Windows-Stammverzeichnisses kann je nach Windows-Version variieren).
  1. Kopieren Sie danach mit dem Aufruf cp *.dll /home/<Ihr Benutername>/.wine/drive_c/system/ alle Bibliotheken in das Verteichnis von Wine. Wiederholen Sie den Kopiervorgang mit dem Aufruf cp *.DLL /home/<Ihr Benutername>/.wine/drive_c/system/ um auch Dateien mit groß geschriebener Endung zu erfassen.
  1. Schließen Sie das Terminalfenster.

Befindet sich auf dem Rechner kein Windows, brennen Sie das System32-Verzeichnis von einem anderen Rechner, auf dem es installiert ist, auf eine CD und kopieren den Inhalt in den genannten Wine-Ordner. Beachten Sie, dass das Verwenden der Systembibliotheken von Microsoft eine Windows-Lizenz erfordert.

Sollte Wine die von einem Programm angeforderte Bibliothek ebenfalls mitbringen (unter Wine 0.9 finden Sie diese im Verzeichnis ~/.wine/drive_c/system32/, ältere Versionen speichern die Bibliotheken unter /usr/lib/wine/), gilt es, Wine mitzuteilen, welche zu verwenden ist. Starten Sie dazu erneut das Konfigurationsprogramm winecfg und klicken Sie auf den Reiter Bibliotheken bzw. Libraries. Geben Sie im Textfeld Neue Überschreibung für: den Namen der Bibliothek ein, zum Beispiel wsock32.dll, und klicken Sie danach auf Hinzufügen. Neben dem Namen der Bibliothek steht der Eintrag [Native, Builtin] (Abbildung 2).

Abb. 2: Läuft ein Programm mit den von Wine gestellten Bibliotheken nicht, kann es helfen, stattdessen die Originale von Microsoft zu verwenden.

Dieser zeigt an, dass Wine zuerst versucht, die native -- also die originale -- Windowsbibliothek aufzurufen, und danach die eigene (Builtin) zu verwenden. Mit einem Klick auf den Button Bearbeiten ändern Sie die Reihenfolge.

Wineprobe

Um ein Windows-Programm mit Wine zu starten, klicken Sie mit der rechten Maustaste darauf, und wählen aus dem Kontextmenü den Eintrag Öffnen mit. Im Dialogfenster geben Sie in der Eingabeleiste wine ein und bestätigen mit OK (Abbildung 3).

Abb. 3: Um ein Windows-Programm zu starten, genügt es, im Fenster "Öffnen mit:" Wine als ausführendes Programm anzugeben.

Möchten Sie EXE-Anwendungen immer mit Wine öffnen, aktivieren Sie zuvor die Checkbox Programm diesem Dateityp fest zuordnen. Diese bequeme Methode hat aber einen schwerwiegenden Nachteil: Sie sehen keinerlei Fehlermeldungen. Speziell wenn Probleme auftreten, empfiehlt sich deswegen der Start über die Konsole mit dem Aufruf wine Programmname, da diese sämtliche Fehlermeldungen anzeigt.

Da Wine beim Setup ein verstecktes Verzeichnis anlegt, gilt es zunächst, in Konquerer über den Menüeintrag Ansicht/Versteckte Dateien anzeigen dessen Anzeige zu aktivieren. Die Dateien mit der Endung reg im Wurzelverzeichnis von Wine entsprechen der Registry von Windows, der Ordner drive_c enthält die nachgebildete Windows-Umgebung. Wie auch unter Windows richtet die Installationsroutine der meisten Programme diese im Verzeichnis Programme oder Program Files ein, wo sie diese nach erfolgreichem Setup auch finden und starten. Legt das Setup ein Desktop-Icon an, generiert Wine automatisch ein entsprechendes Shell-Skript, das beim Doppelklick darauf das Programm startet.

So gut sich die Idee anhört, so ernüchternd ist das Ergebnis. Von den etwa 30 getesteten Programmen verrichteten gerade einmal drei wie vorgesehen ihren Dienst. Als einziges Programm ließ sich Emule (Abbildung 4) ohne Vorbereitungen und Modifikationen installieren.

Abb. 4: Eines der wenigen Programme, die im Test ohne Modifikationen am System problemlos liefen ist der Filesharing-Client Emule.

Andere Programme, beispielsweise der Bildbetrachter IrfanView, starteten erst, nachdem die Bibliothek mfc42.dll in das Verzeichnis System kopiert wurde. Die Installation von Programmen wie Winamp 2 (Abbildung 5) oder dem Videobearbeitungsprogramm Virtual Dub ging zwar reibungslos vonstatten, jedoch waren sie aufgrund erheblicher Funktions- und Darstellungsmängel nicht zu gebrauchen.

Abb. 5: Installation und des Mediaplayers Winamp 2 funktionieren zwar reibungslos, jedoch fehlt dem Player die Menüleiste.

Der Versuch, den Internet Explorer mit herkömmlichen Mitteln zu installieren, scheiterte ebenfalls. Dafür sind erhebliche technische Eingriffe in Wine erforderlich, unter anderem das Einspielen eines Registry-Patches. Da viele Programme zum Start den Internet Explorer benötigen, scheitert deren Installation damit auch. Abhilfe verspricht das Projekt IEs4Linux [2], das die notwendigen Modifikationen für Sie übernimmt.

Tafelwine oder Spätlese

Ob die Installation eines Programmes funktioniert, hängt von vielen Faktoren ab, so dass eine klare Aussage kaum möglich ist. Eine wichtige Rolle spielt die verwendete Wine-Version. Schon minimale Versionsunterschiede fördern zuweilen komplett unterschiedliche Ergebnisse bei einzelnen Programmen zu Tage. Das liegt nicht zuletzt daran, dass Wine nicht abwärtskompatibel ist. Das heißt, Software, die unter einer älteren Releases problemlos lief, muss nicht zwangsläufig mit einer neueren Version funktionieren.

Auch die bereits mit Wine installierte Software spielt unter Umständen eine wichtige Rolle. Bringt diese Bibliotheken mit, die ein anderes Programm benötigt, funktioniert das Programm einwandfrei, während es auf einem frisch installierten Wine nicht läuft. Ähnlich verhält es sich mit den Programmversionen. Dass sich Version A eines Programmes problemlos installieren lässt, heißt noch lange nicht, dass das bei Version B auch der Fall ist. Generell gilt: Je neuer die Software, desto geringer die Chance, dass sie unter Wine läuft. Speziell bei großen Programmen wie Adobe Photoshop oder Microsoft Office ist das ausnahmslos der Fall.

Winetools

Ähnlich wie Codeweavers CrossOver Office erlauben die Winetools [3] die Installation etwa 90 ausgewählter Softwarepakete (Abbildung 6), die von den Entwicklern getestet wurden. Frei verfügbare Programme lädt das Programm aus dem Internet herunter und versucht, diese zu installieren. Deswegen ist der Einsatz der Winetools zum Installieren von Software auch nur ratsam, wenn Sie über einen schnellen Internetzugang verfügen. Kommerzielle Anwendungen wie Photoshop oder Microsoft Office richtet die Software über die Installations-CD ein.

Abb. 6: Neben der Installation von Anwendersoftware und Systembibliotheken helfen die Winetools bei der Konfiguration von Wine.

Im Test liefen die wenigsten mit den Winetools installierten Programme fehlerfrei. Die Installation des Internet Explorers, die die Winetools als Grundfunktion bezeichnen, scheiterte auch hier.

Trotzdem hat das Programm durchaus seine Daseinsberechtigung, zum Beispiel zum einfachen Installieren bestimmter Systembibliotheken oder TrueType Fonts, deren Einrichtung manuell ungleich umständlicher wäre. Da jedoch alle untersuchten Versionen ausgesprochen langsame Sourceforge-Mirror-Server als Downloadquelle verwenden, gilt es zunächst, wie folgt eine performantern einzutragen:

  1. Starten Sie den Texteditor kwrite im Schnellstartfenster ([Alt-F2]) mit dem Aufruf kdesu kwrite.
  1. Öffnen Sie im Texteditor die Datei /usr/local/winetools/wt212jo bzw. /usr/local/winetools/wt0.9jo für Version 0.9.
  1. Ändern Sie den Eintrag SFMIRROR="http://mesh.dlsourceforge.net/sourceforge" in SFMIRROR="http://heanet.dlsourceforge.net/sourceforge" und speichern Sie die Datei.

Damit vewenden die Winetools zum Download zukünftig den deutlich schnelleren Spiegelserver Heanet.

Fazit

Für den normalen Anwender geraten die Installation und der Betrieb von Windows-Software mittels Wine zum Glücksspiel. Dass ein Programm "aus dem Stand" fehlerfrei läuft, ist eher die Ausnahme. Zu viele für den Laien meist undurchsichtige Gründe entscheiden letztendlich darüber, ob es geht oder nicht.

Wer auf bestimmte Windows-Programme angewiesen ist und keine Experimente wagen möchte, kommt an kommerzieller Software wie CrossOver Office [4] nicht vorbei. Auch hier lohnt sich allerdings ein Blick in die Kompatibilitätsliste, um einen Fehlkauf zu vermeiden.

Speziell für Spiele konzipierten die Entwickler von TransGaming Technologies den ebenfalls kommerziellen Emulator Cedega [5]. (tle)

Infos
[1] Wine: http://www.winehq.org
[2] IEs4Linux: http://www.tatanka.com.br/ies4linux/index-de.html
[3] Winetools: http://www.von-thadden.de/Joachim/WineTools/
[4] CrossOver Office: http://www.codeweavers.com/
[5] Cedega: http://www.transgaming.com

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2012 Linux New Media AG | Last modified: 2008-11-05 17:02

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]