29.2 Wine, Cedega und Crossover
Laufzeitumgebung
Betrachten wir zunächst die Laufzeitumgebung Wine. Wine steht für »Wine is not (an) emulator« und ist tatsächlich kein »echter« Emulator, sondern stellt eine Laufzeitumgebung für Windows-Programme auf POSIX-Systemen zur Verfügung. Bei Wine handelt es sich um eine freie Software, mit der sich viele Windows-Programme auch unter Linux oder BSD ausführen lassen. Wine kann auch ohne vorhandene Windows-Installation genutzt werden.
Alle Laufzeitaufrufe der ausgeführten Windows-Programme werden durch Wine an den Kernel oder das X-Window-System weitergeleitet. Wine unterstützt dabei die APIs aller gängigen und ehemaligen Windows-Versionen von 3.1 über 95, 98 bis hin zu Windows XP und Vista – allerdings unterschiedlich gut. Aktuell werden jedoch bereits ca. 70 Prozent aller Windows-Systemaufrufe unterstützt. Da es noch keine vollständige Unterstützung gibt und regelmäßig neue Funktionen hinzukommen, hat Wine (zumindest in den Entwickler-Versionen) auch einen entsprechend schnellen Release-Zyklus mit häufigen Updates.
Cedega und CrossOver sind zwei kommerzielle Varianten oder Forks [Fn. »Forks« nennt man – analog zum Systemcall fork() – auf einem Code-Zweig der Ursprungssoftware basierende Varianten freier Softwareprojekte.] von Wine.
29.2.1 Cedega
Cedega ist eine Variante, die sich besonders der DirectX-Unterstützung widmet und sich damit besonders unter Spielern einer großen Beliebtheit erfreut. Jedoch steht Cedega in der Kritik, da es sich zwar der ursprünglichen Wine-Sourcen bedient, aber keinen Code an das Wine-Projekt zurückgibt.
Möglich wurde das, da Wine früher unter einer Lizenz ohne Copyleft, das heißt, ohne die Verpflichtung, abgewandelten Code wieder frei verfügbar zu machen, veröffentlicht wurde. Cedega konnte also den Code übernehmen, modifizieren und als proprietäre Software kommerziell verwerten.
Cedega begründet das Zurückhalten des Quellcodes damit, dass lizenzierter Code zum Einsatz komme, um mit Kopierschutzmechanismen neuerer Spiele arbeiten zu können – und deren zugrunde liegende Lizenzen eine Veröffentlichung des Codes verböten. Da das Wine-Projekt jedoch mittlerweile die verwendete Lizenz (nicht zuletzt wegen Cedega) geändert hat, basiert Cedega auf einer älteren Version des Wine-Quellcodes und kann von neuen Entwicklungen nicht mehr profitieren.
Abbildung 29.1 Cedega mit installiertem Hidden and Dangerous 2
Unabhängig von dieser Kontroverse ist Cedega oft die Software der Wahl, wenn es darum geht, unter Linux aktuelle Spiele spielen zu können. Auf der Webseite der Cedega-Hersteller (cedega.com) gibt es eine Spieledatenbank, in der Sie nachschauen können, wie gut welches getestete Windows-Spiel unter Cedega funktioniert.
29.2.2 CrossOver
Anders als Cedega fließen die Änderungen, die in den kommerziellen Wine Versionen von CrossOver getätigt werden, wieder in das Ursprungsprojekt zurück. CrossOver ist dabei der Sammelbegriff für drei kommerzielle Produkte der Firma Codeweavers:
- CrossOver Linux
- CrossOver Games
- CrossOver Mac
Früher war CrossOver auch als CrossOver Office bekannt und speziell für Microsoft Office ausgelegt. Mittlerweile werden aber deutlich mehr Anwendungen unterstützt, deren Unterstützung man ebenfalls über eine Datenbank des Herstellers nachvollziehen kann. Auf der Webseite der Firma CodeWeavers (codeweavers.com) finden Sie alle benötigten Informationen.
29.2.3 Wine
Aber kommen wir zurück zu Wine. Trotz des Fakts, dass Wine nicht die komplette Windows-Laufzeitumgebung abbildet, ist die Liste der unterstützten Tools und Programme relativ lang. Auf der Webseite http://appdb.winehq.org/ können Sie nachsehen, ob und wie ein bestimmtes Programm unterstützt wird. So ist es mit Wine beispielsweise möglich, die wichtigsten Komponenten von Microsoft Office unter Linux zum Laufen zu bringen oder auch populäre Spiele unter dem freien Betriebssystem zu spielen.
Wine Application Database
Bevor Sie den Einsatz von Wine in Betracht ziehen, wollen Sie wahrscheinlich wissen, ob die von Ihnen gewünschte Anwendung überhaupt von ihm unterstützt wird. In diesem Fall konsultieren Sie am besten die Wine Application Database, kurz AppDB, die Sie auf http://appdb.winehq.org erreichen können.
Diese beantwortet nicht nur die Frage, ob eine Applikation überhaupt unter Wine läuft, sondern auch wo gegebenenfalls noch Probleme liegen beziehungsweise welche Anpassungen an der Konfiguration von Wine vorgenommen werden müssen. Dabei erfolgt eine Einstufung in die folgenden Kategorien:
- Platinum
Eine als Platinum bewertete Applikation muss ohne Einschränkungen out-of-the-box in einer Wine-Umgebung laufen. Es sind keine Änderungen an der Wine-Konfiguration notwendig. - Gold
Eine als Gold bewertete Applikation läuft ohne Einschränkungen in Wine, benötigt dafür jedoch einige besondere Einstellungen oder auch Drittsoftware. - Silver
Eine als Silver bewertete Applikation darf keine Einschränkungen im »normalen« Gebrauch aufweisen. Beispielsweise sollte bei Spielen mindestens der Single-Player-Modus funktionieren, auch wenn der Multiplayer-Modus beispielsweise noch nicht unterstützt wird. - Bronze
Eine Bronze-Applikation hat dagegen selbst bei »normaler« Nutzung deutliche Einschränkungen. - Garbarge
Wenn eine Applikation nicht annähernd so verwendet werden kann, wie es vorgesehen ist, wird sie als Garbage (dt. Müll) bewertet.
In der AppDB können die Wine-Benutzer auch entsprechend abstimmen, welchen Applikationen beziehungsweise potenziellen Wine-Features sich die Entwickler als Nächstes widmen sollen. Die Community hat somit ein deutliches Mitspracherecht.
Wine in der Praxis
EXE-Dateien starten
Um Wine zu nutzen, rufen Sie einfach die entsprechende EXE-Datei als Argument des Programmes wine auf:
Listing 29.1 Aufruf in Windows
C:\> setup.exe /argument1
Listing 29.2 Äquivalenter Aufruf unter Linux über Wine
$ wine setup.exe /argument1
Wenn Sie in Ihrem Aufruf einen Blackslash (\) verwenden, wie dies typischerweise bei Windows-Pfadangaben der Fall ist, so müssen diese in der Bash jedoch noch einmal escapet werden – ein Backslash wird dabei zu einem Doppel-Backslash:
Listing 29.3 Aufruf mit Pfadangabe
$ wine tool.exe c:\\Programme\\tool
Wine konfigurieren
Apropos Pfade: Damit sich alle ausgeführten Windows-Anwendungen auch unter Linux wohlfühlen, stellt Wine ihnen entsprechend ein »Laufwerk C:« zur Verfügung. In der Realität wird dabei aber nur ein einfaches Unterverzeichnis in den Tiefen des Home-Verzeichnisses des jeweiligen Nutzers abgebildet:
Listing 29.4 Das Laufwerk C: mit Wine unter Linux
$ ls \~{}/.wine/drive_c/
Programme windows
Mithilfe des Tools winecfg können Sie grundlegende Einstellungen in Wine ändern. So können hier auch die Mappings der einzelnen Laufwerke umgestellt werden, womit Sie beispielsweise Ihrem unter /media/cdrom0 gemounteten CD/DVD-Laufwerk auch den Laufwerksbuchstaben D: zuweisen:
Abbildung 29.2 winecfg
In der AppDB gibt es oft über die Benutzung von winecfg deutlich hinausgehende Hinweise und Tipps dazu, wie die für einen reibungslosen Start einer bestimmten Anwendung notwendigen Änderungen vorzunehmen sind.
Bei weiteren Fragen und Problemen rund um Wine konsultieren Sie am besten auch den Hilfe-Bereich der offiziellen Wine-Webseite: http://www.winehq.org/help/. Sie finden dort neben einem Wiki, Foren, Mailinglisten und IRC-Chats sogar Möglichkeiten, an einen kommerziellen Support für Wine zu kommen.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.