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

Windows-Programme unter Linux mit Wine

Beschwipst fensterln

Tim Schürmann


Wer von Windows auf Linux umsteigt, vermisst nicht selten liebgewonnene Programme und Spiele. Wie praktisch wäre es, wenn diese auch auf dem freien Betriebssystem laufen würden. Genau diesen Wunsch erfüllt eine kleine Software namens Wine.

Linux ist einfach anders. Hardware sprechen Sie über Gerätedateien an, die Oberfläche tauschen Sie beliebig aus und verändern sie, auf den Inhalt von Festplatten greifen Sie über Verzeichnisse zu, und es laufen meist nur Programme, die für das freie Betriebssystem entwickelt wurden. Das wird zum Ärgernis, wenn eine wichtige Anwendung ausschließlich in einer Windows-Version existiert. Vielen Linux-Umsteigern fehlen vor allem ihre Spiele und Grafikprogramme, etwa Corel Draw oder die Produkte aus dem Hause Adobe, maßgeblich Photoshop. Hier hilft dann nur noch ein parallel installiertes Windows -- oder die Software Wine. Sie gaukelt der Anwendung einfach ein vorhandenes Windows-System vor.

Rolle rückwärts

Die Geschichte von Wine beginnt bereits im Jahr 1993. Zur damaligen Zeit entwickelte die Computerfirma Sun ein kleines Werkzeug, um Windows-Anwendungen unter ihrem Betriebssystem Solaris zu starten -- ganz ohne Windows-Lizenz oder anderweitige Eingriffe. Diese Software inspirierte Bob Amstadt und Eric Youngdale, etwas ähnliches auch für Linux zu entwickeln -- kurze Zeit später erschien die erste Wine-Version. Mittlerweile arbeiten an dem kleinen Hilfsprogramm über 300 Hobby-Programmierer auf der ganzen Welt.

Krummer Name

Um Windows-Programme unter Linux zu betreiben, greift Wine zu einem recht aufwändigen Trick: Es setzt sich wie ein Simultandolmetscher zwischen die Windows-Anwendung und Linux. Verlangt die Windows-Anwendung: "Zeichne eine Schaltfläche!", gibt Wine diesen Befehl direkt an Linux weiter. Im Gegensatz zu VirtualBox oder VMware simuliert Wine aber nicht gleich einen ganzen PC und ist somit auch kein richtiger Emulator. Das erklärt den Namen Wine, der für Wine Is Not an Emulator steht.

Verständigungsprobleme

Die Arbeitsweise von Wine bietet Ihnen gleich mehrere Vorteile: Sie benötigen keine teure Windows-Lizenz, die Programme laufen fast genauso schnell wie unter dem Betriebssystem aus Redmond, und die Fenster verhalten sich wie bei jedem anderen Linux-Programm.

Ein Dolmetscher ist allerdings nur so gut wie seine Sprachkenntnisse. Hier liegt auch der Pferdefuß von Wine: Da sich Microsoft bis vor kurzem weigerte, tiefergehende Informationen über sein Betriebssystem preiszugeben, müssen die Wine-Entwickler vieles in akribischer Kleinarbeit selbst herausfinden. Das erweist sich bei dem mittlerweile mehrere GByte umfassenden Betriebssystemmonster als Sisyphos-Arbeit. Als wäre das nicht genug, nutzen einige Software-Hersteller zudem mehr oder weniger hässliche Programmiertricks. Damit ihre Anwendungen auch unter Linux laufen, muss Wine diese Tricks kennen. Dummerweise lassen sich aber auch die meisten Software-Hersteller nicht in die Karten schauen.

Dies alles führte dazu, dass Wine sich selbst nach über einem Jahrzehnt offiziell immer noch in der Entwicklung befindet. Größere Baustellen sind insbesondere die Bereiche Multimedia, Video und 3D-Grafik. Immerhin unterstützt Wine mittlerweile DirectX 8 und 9 recht gut. Die zehnte Inkarnation dieser wichtigen Grafikschnittstelle für Spiele haben die Entwickler im letzten Jahr in Angriff genommen. Des Weiteren kann Wine nur mit 32-Bit-Windows-Anwendungen umgehen, die Unterstützung von 64-Bit-Software ist erst für die Zukunft geplant.

Wine hat noch einen weiteren Nachteil: Es kann ausschließlich mit Windows-Anwendungsprogrammen umgehen. Hardware, für die nur Windows-Treiber vorliegen, können Sie mit Wine kein neues Leben einhauchen.

Vorbereitungen

Bevor Sie sich auf den Paketmanager stürzen und Wine installieren, sollten Sie zunächst einen Blick in die Anwendungsdatenbank auf der Wine-Homepage werfen [1]. Sie verrät für etliche Windows-Programme, ob sie sich überhaupt mit Wine vertragen und, wenn ja, wie gut sie mit der Krücke kooperieren. Um zur Datenbank zu gelangen, wählen Sie auf der Homepage im WineHQ Menu auf der linken Seite AppDB und wechseln anschließend im Bereich AppDB zu Browse Apps. Folgen Sie jetzt einfach der Liste mit den Kategorien, bis Sie Ihre Anwendung finden. Corel Draw und Photoshop verbergen sich beispielsweise hinter Multimedia, Graphics und schließlich Graphics Editing. Alternativ durchstöbern Sie die Einträge der Datenbank über die Suchfunktion am linken Seitenrand.

Abb. 1: Die Wine-Datenbank listet viele Anwendungen auf, die unter Wine laufen, etwa das Grafikprogramm Corel Draw.

Im Fall von Corel Draw gelangen Sie auf die Seite aus Abbildung 1. Dort finden Sie für die verschiedenen Versionen ein Rating, das bewertet, wie gut das Programm in den Tests der Wine-Anwender abschneidet. Eine Platin-Auszeichnung erhält ein Programm nur dann, wenn es fehlerfrei und ohne Funktionseinbußen unter Wine läuft. Bei Corel Draw haben es leider nur ein paar ältere Versionen bis zum Gold-Status gebracht, die aktuelle Fassung X4 verweigert hingegen beharrlich die Zusammenarbeit (Garbage). Adobe Photoshop läuft mehr oder weniger reibungslos in der CS2-Fassung, das aktuelle CS3 streikt hingegen noch. Beim Kollegen Illustrator sieht die Situation noch düsterer aus. Als Faustregel gilt: Je älter ein Programm ist, desto wahrscheinlicher läuft es.

Kolbenfresser

Woran es genau hakt, verrät ein Klick auf eine der Programmversionen. Im neuen Fenster erfahren Sie detailliert, was läuft und was nicht. Zusätzlich helfen Ihnen die Erfahrungsberichte der Anwender im unteren Bereich und häufig auch die Tipps, mit denen Sie das Programm dennoch zur Zusammenarbeit bewegen. Die dazu nötigen, teilweise extrem komplizierten Schritte sollten jedoch nur erfahrene Linux-Anwender gehen. In einigen Fällen scheitert der Betrieb schlicht am fehlenden Internet Explorer, den etwa die Buchhaltungsprogramme von Lexware für ihre Arbeit voraussetzen.

Gilt Ihre Anwendung in der Datenbank als nicht funktionsfähig, werfen Sie einen kurzen Blick auf das Testdatum (im Bereich Test Results). Liegt das schon etwas zurück, wagen Sie die Probe aufs Exempel. Wine reift stetig weiter, also könnte Ihre Anwendung mittlerweile durchaus laufen. Aus diesem Grund sollten Sie auch über die automatische Aktualisierungsfunktion Ihrer Distribution die ausgelieferten Wine-Updates einspielen. Alternativ holen Sie sich die neueste -- eventuell noch etwas instabile -- Version 1.0, wie es der Kasten Wine 1.0 einspielen beschreibt.

Stehen die Anzeichen für einen (halbwegs) fehlerfreien Betrieb auf Grün, benötigen Sie als Nächstes die Installationsmedien der Windows-Anwendung. Während Wine kostenlos ist, brauchen Sie für diese selbstverständlich eine gültige Lizenz.

Installation

Wine liegt allen großen Distributionen entweder standardmäßig bei oder lässt sich bequem aus einem Repository fischen. Wollen Sie die neueste Version von Wine einspielen, befolgen Sie die Schritte im Kasten Wine 1.0 einspielen. Nutzen Sie Kubuntu 8.04, stellen Sie zunächst sicher, dass eine funktionierende Internetverbindung besteht. Rufen Sie den Paketmanager Adept über System / Adept Manager im K-Menü auf und tippen Sie neben Suchen oben links den Begriff wine ein. Klicken Sie dann auf das Paket wine und Installation anfordern. Adept spielt den Emulator nun auf Ihre Festplatte.

Unter OpenSuse 10.2 und 10.3 rufen Sie YaST auf und wählen aus dem Bereich Software den Punkt Software installieren oder löschen. Geben Sie in das Suchfeld den Begriff wine ein und klicken Sie auf Suchen. In der Ergebnisliste auf der rechten Seite setzen Sie ein Kreuzchen vor wine und bestätigen die Auswahl mit Akzeptieren am unteren rechten Fensterrand.

Wine 1.0 einspielen

Wine 1.0 rückt beim Schreiben dieses Artikels in greifbare Nähe, noch arbeiten die großen Distributionen allerdings mit älteren, oft stabileren Wine-Versionen. Kubuntu hat 0.9.59 an Bord, OpenSuse 10.3 kommt mit Version 0.9.44 und OpenSuse 10.2 mit Version 0.9.24. Um eine brandaktuelle Version von Wine einzuspielen, klicken Sie unter OpenSuse 10.3 in YaST auf Software / Community Repositories und setzen ein Häkchen bei openSUSE BuildService -- Wine CVS Pakete. YaST liest nun die Paketliste der neuen Quelle ein, über Software / Software installieren und löschen installieren Sie Wine 1.0.

Unter OpenSuse 10.2 klicken Sie auf Software / Installationsquelle hinzufügen und ergänzen manuell eine HTTP-Quelle. Es erscheint ein kleines Fenster mit zwei Zeilen. In die obere tragen Sie download.opensuse.org und in die untere repositories/Emulators:/Wine/openSUSE_10.2 ein und klicken abschließend auf OK. Nach der Bestätigung, dass Sie einen fremden Schlüssel importieren wollen, können Sie eine aktuelle Version von Wine einspielen.

Unter Kubuntu 8.04 rufen Sie über das K-Menü den Paketmanager Adept auf, klicken auf Adept / Paketquellen verwalten und wählen dann aus dem Reiter Third-Party Software den Punkt Hinzufügen. Als Paketquelle fügen Sie deb http://wine.budgetdedicated.com/apt hardy main hinzu und drücken [Eingabe]. Adept aktualisiert die Paketliste, anschließend installieren Sie auch hier die neueste Wine-Ernte.

Vorbereitungen

Nach erfolgreicher Installation rufen Kubuntu-Besitzer die Steuerzentrale von Wine über das Startmenü und den Eintrag Wine / Konfiguriere Wine auf. Unter OpenSuse integriert sich Wine leider nicht in das Startmenü. Dort drücken Sie [Alt-F2], tippen in das Eingabefenster winecfg ein und klicken auf Ausführen.

Winecfg erstellt jetzt in Ihrem Heimatverzeichnis einen versteckten Unterordner namens .wine. Darin legt die Software unter anderem eine Basiskonfiguration ab, die das Fenster aus Abbildung 2 präsentiert. Nehmen Sie hier noch keine weiteren Einstellungen vor, sondern beenden Sie das Hilfsprogramm mit einem Klick auf Abbrechen.

Abb. 2: Dieses Fenster zeigt die aktuellen Einstellungen von Wine an.

Installation eines Windows-Programms

Für einen kleinen Testlauf laden Sie das Packprogramm WinRAR aus dem Internet [2] herunter oder nutzen die Version von der Heft-DVD, die Sie in das DVD-Laufwerk schieben. (Sie befindet sich im Ordner /programme/andere/winrar.) Dann öffnen Sie den Dateimanager Ihrer Distribution, den Sie unter Kubuntu über das Icon rechts neben dem K-Menü unter Persönlicher Ordner erreichen. OpenSuse-Anwender wählen denselben Eintrag aus dem Startmenü.

Im Dateimanager fahnden Sie nun nach dem Installationsprogramm der Windows-Anwendung. Die passende Datei heißt meist setup.exe oder autorun.exe, im Fall von WinRAR lautet der ziemlich kryptischen Name wrar371.exe (Abbildung 3). Klicken Sie diese einfach mit der Maus an. Unter OpenSuse öffnet sich jetzt das Fenster aus Abbildung 4. Tippen Sie in das Eingabefeld wine und klicken Sie auf Ok.

Abb. 3: Die Installationsdatei des Packprogramms WinRAR.

Abb. 4: Unter OpenSuse erscheint nach dem Klick auf ein Windows-Programm dieses Fenster.

Im Hintergrund übernimmt jetzt Wine und startet das Windows-Programm. Das installieren Sie so, wie Sie es von Windows kennen. Als Installationsverzeichnis übernehmen Sie den von der Anwendung vorgeschlagenen Ordner. Solange der auf Laufwerk C: liegt, landet die Software automatisch in Ihrem Home-Verzeichnis (zu den Laufwerksbuchstaben in Kürze mehr). Fordert der Installer einen Neustart von Windows, drücken Sie [Alt-F2], tippen in das Eingabefeld wineboot und klicken auf Ausführen -- so simuliert Wine einen Windows-Neustart. Startet Wine die Windows-Programme nicht auf Mausklick, lesen Sie den Kasten Totenstille.

Abb. 5: WinRAR während der Installation auf einem Kubuntu 8.04.

Abb. 6: Auch einige Windows-Spiele, wie etwa das Adventure Runaway,...

Abb. 7: ... laufen dank Wine unter Linux.
Totenstille

Sollte ein Windows-Programm nicht per Mausklick starten, fahren Sie etwas härtere Geschütze auf. Öffnen Sie zuerst ein Terminalfenster. Unter Kubuntu steckt es im Startmenü unter System / Konsole, bei OpenSuse wählen Sie aus dem K-Menü den Punkt System / Terminals / Konsole. Tippen Sie nun

cd verzeichnis

wobei Sie verzeichnis gegen den vollständigen Pfad zum Installationsprogramm austauschen. Befindet sich die Datei setup.exe auf einer DVD, erreichen Sie diese unter Kubuntu ebenso über das Verzeichnis /media/ wie unter OpenSuse 10.3. Der passende Befehl sieht dann so aus:

cd /media/Name der DVD

Sie ersetzen Name der DVD durch den Eintrag in Ihrem media-Verzeichnis und arbeiten sich dann zum Unterverzeichnis vor, das die gesuchte EXE-Datei enthält (im Falle von WinRAR /programme/andere/winrar). Darin tippen Sie dann

wine datei

wobei Sie datei durch den Namen der auszuführenden Anwendung ersetzen, etwa setup.exe. Achten Sie auch unbedingt auf die korrekte Groß- und Kleinschreibung. Nach dem erneuten Drücken von [Eingabe] ruft Wine das Windows-Programm auf. Tauchen beim Ausführen Probleme auf, schreibt es Fehlermeldungen in das Terminalfenster, das Sie daher nicht schließen dürfen -- andernfalls beenden Sie damit das laufende Windows-Programm. Bei Abstürzen hilft es mitunter, das Windows-Programm einfach noch einmal neu zu starten.

Sofern das Installationsprogramm einen oder mehrere Einträge im Startmenü anlegt, finden Sie diese unter Kubuntu direkt im Startmenü unter Wine wieder. Über sie lässt sich das Windows-Programm jederzeit bequem starten.

Abb. 8: In diesem Menü sammelt Kubuntu 8.04 alle installierten Windows-Programme. OpenSuse-Besitzer müssen auf diesen Komfort leider verzichten.

OpenSuse-Anwender haben es etwas schwerer. Sie müssen zunächst das installierte Windows-Programm auf der Festplatte aufspüren. Vor dem gleichen Problem stehen aber auch Kubuntu-Besitzer, wenn sich das Windows-Programm nicht ordnungsgemäß ins Startmenü integriert.

Gib mir Namen

Alle auf Laufwerk C: installierten Windows-Programme schiebt Wine standardmäßig in einen unsichtbaren Unterordner im Home-Verzeichnis. Um alle versteckten Dateien anzuzeigen, wählen Sie im Konqueror den Menüpunkt Ansicht / Versteckte Dateien anzeigen.

In Ihrem Home-Verzeichnis wechseln Sie nun in den Ordner .wine. Eine Ebene tiefer stoßen Sie auf das Unterverzeichnis drive_c und darin auf zwei alte Bekannte: die Verzeichnisse Programme und Windows. Im ersten schlummert die gerade installierte Anwendung. Im Falle von WinRAR klicken Sie im Ordner WinRAR auf die Datei WinRAR.exe. Unter OpenSuse ist wieder zusätzlich die Eingabe von wine nötig.

Abb. 9: Hier sehen Sie die Windows-Anwendung WinRAR unter Kubuntu in Aktion.

Verzeichnissalat

Im Gegensatz zu Windows kennt das freie Betriebssystem keine Laufwerksbuchstaben. Folglich wendet Wine einen kleinen Trick an: Hinter jedem Laufwerksbuchstaben steht in Wahrheit ein Linux-Verzeichnis. Speichert beispielsweise das unter Wine laufende Windows-Programm Daten auf Laufwerk C:, landen diese im Unterordner .wine/drive_c im Home-Verzeichnis. Welchem Ordner Wine welchen Buchstaben verpasst, verrät die Wine-Steuerzentrale. Rufen Sie deshalb noch einmal, wie weiter oben beschrieben, winecfg auf und statten Sie dem Register Laufwerke einen Besuch ab (Abbildung 10). Die Liste im oberen Bereich zeigt an, welcher Laufwerksbuchstabe zu welchem Linux-Verzeichnis führt. Gewöhnlich zeigt C: auf das Verzeichnis .wine/drive_c, über den Laufwerksbuchstaben Z: greift eine Windows-Anwendung auf den gesamten Verzeichnisbaum zu -- er führt geradewegs ins Wurzelverzeichnis. Sie nehmen hier weitere Zuordnungen vor, indem Sie zunächst per Hinzufügen einen neuen, virtuellen Laufwerksbuchstaben erstellen. Geben Sie dann unter Pfad das Verzeichnis ein, auf den der Buchstabe verweisen soll.

Abb. 10: Über diesen Reiter ordnen Sie Linux-Verzeichnissen Laufwerksbuchstaben zu.

VistaXP 98

Einige Windows-Programme verlangen nach den Eigenheiten einer ganz bestimmten Windows-Version. In einem solchen Fall hilft Ihnen das Register Anwendungen. Dort legen Sie für jede Anwendung getrennt fest, welche Windows-Version Wine ihr vorgaukeln soll. Klicken Sie dazu auf Anw. hinzufügen und suchen Sie die ausführbare Datei Ihrer Anwendung (in .wine/drive_c). Nach einem Klick auf Öffnen markieren Sie die Anwendung in der Liste und wählen aus dem Ausklappmenü Windows die passende Version. Die Konfiguration unter Standardeinstellungen gilt für alle Windows-Applikationen.

Müllwagen

Um eine unter Linux installierte Windows-Anwendung wieder loszuwerden, könnten Sie jetzt auf die Idee kommen, einfach das passende Verzeichnis unter .wine/drive_c/Programme zu löschen. Nehmen Sie davon jedoch Abstand, da Wine das Programm noch in seinen Einstellungen führt. Verwenden Sie besser den Wine eigenen Uninstaller. Um ihn aufzurufen, drücken Sie [Alt-F2] und tippen uninstaller. Nach einem Klick auf Ausführen öffnet sich das Fenster aus Abbildung 11. Sie markieren dort die Software, die Sie löschen möchten, und klicken anschließend auf Enfernen. Kubuntu-Nutzer finden das gleiche Programm übrigens auch im Startmenü über Wine / Deinstalliere Wine Applikationen.

Abb. 11: Dieses kleine Programm hilft beim ordnungsgemäßen Deinstallieren von Windows-Programmen.
Abtrünnige

Die MIT-Lizenz von Wine räumte den Nutzern sehr viele Rechte ein, was sich die Firma Transgaming recht gewinnbringend zu nutze machte. Sie schnappte sich kurzerhand das Paket, ergänzte es um die vor allem für Spiele benötigten DirectX-Fähigkeiten und verkaufte das Ergebnis als Cedega [3] (ursprünglich WineX). Dies fanden die Wine-Entwickler alles andere als lustig und änderten deshalb im März 2002 die Lizenzbedingungen auf die LGPL. Die stellt sicher, dass man Wine auch weiterhin im kommerziellen Umfeld kostenlos nutzen darf, Änderungen und Ergänzungen aber wieder dem Projekt zu Gute kommen. Vorbildlich agiert hier etwa die Firma CodeWeavers, die Wine zusammen mit kommerziellen Komponenten zu einem Paket namens CrossOver [4] schnürt und zugleich aktiv die Weiterentwicklung von Wine fördert.

Fazit

Wine ist leider kein Allheilmittel. Nach wie vor streiken viele wichtige Programme, die besten Chancen bestehen noch bei Spielen. Auf die beliebten Buchhaltungsprogramme, Corel Draw, das aktuelle Photoshop oder iTunes müssen Sie noch verzichten. Der beste Rat besteht also darin, ein ähnliches Linux-Programm zu suchen. Im Fall von Photoshop bietet sich beispielsweise der Griff zu GIMP oder Krita an, OpenOffice ersetzt schon seit langem Microsofts Bürosuite. Wenn Sie sich einmal mit dem vorhandenen Angebot in Ihrem Paketmanager beschäftigen, werden Sie erstaunt sein, für wie viele Anwendungen es unter Linux gleichwertige oder sogar bessere Alternativen gibt. (kki)

Infos
[1] Homepage des Wine-Projekts: http://www.winehq.org
[2] Homepage des Packprogramms WinRAR: http://www.rarsoft.com
[3] Cedega-Webseite: http://www.transgaming.com
[4] CrossOver für Linux: http://www.codeweavers.com/products/cxlinux/

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 | © 2014 COMPUTEC MEDIA GmbH | Last modified: 2008-06-27 18:08

[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]