Linux eignet sich dank zahlreicher Schnittstellen bestens dazu, auch Anwendungen für andere Betriebssysteme und Plattformen auszuführen. Wir stellen die wichtigsten Lösungen vor.
Linux lässt sich – auch dank seiner zahlreichen Programme – überaus flexibel einsetzen. Dabei ist das freie Betriebssystem mit seinen Applikationen jedoch kein hermetisch abgeschottetes Ökosystem, sondern nach außen hin weitgehend offen: Auch zahlreiche Anwendungen aus anderen Welten können Sie problemlos unter Linux nutzen. Dazu bieten sich unterschiedliche Möglichkeiten an: Neben virtuellen Maschinen gibt es Laufzeitumgebungen und Emulatoren, die Applikationen plattformübergreifend nutzbar machen. Die Bitparade wirft einen Blick auf die zahlreichen Möglichkeiten.
Virtuelle Maschinen
Die wohl bekannteste Form, Anwendungen für andere Plattformen auszuführen, stellen virtuelle Maschinen dar. Dafür hat sich auf dem Desktop das von Oracle gepflegte Virtualbox [1] fest etabliert, das sich in den Software-Repositories vieler Distributionen findet. Darüber hinaus steht die Software auf der Projektseite in verschiedensten Paketformaten für 32- und 64-Bit-Hardware direkt zum Download bereit, inklusive speziell für einzelne Distributionen angepasster Varianten.
Virtualbox stellt eine vom Rest der Systems isolierte virtuelle Maschine (VM) bereit, die gängige Hardware emuliert. In der VM installieren Sie ein beliebiges Betriebssystem und die dazugehörigen Anwendungen. Um einen (partiellen) gemeinsamen Zugriff zwischen Host- und Gastsystem auf definierte Ressourcen zu ermöglichen, gibt es für Virtualbox sogenannte Gasterweiterungen, die Sie gesondert einrichten müssen. Bei kostenpflichtigen proprietären Systemen erfordert deren Installation eine Lizenz.
Eine Alternative ist das Duo KVM [2] und Qemu [3], das ähnliche Möglichkeiten bietet wie Virtualbox, jedoch als Modul direkt im Linux-Kernel arbeitet. KVM/Qemu benötigt allerdings einen etwas höheren Einarbeitungsaufwand und lässt sich aufgrund eines größeren Umfangs an Parametern schwieriger konfigurieren als Virtualbox. Dafür arbeitet es jedoch mit Linux als Gastsystem schneller als der Konkurrent. Hinsichtlich der Nutzung unterschiedlicher Gastsysteme gibt sich KVM/Qemu ähnlich flexibel wie Virtualbox, mehrere grafische Frontends erlauben jedoch die Anpassung an nutzerspezifische Präferenzen.
Laufzeitumgebungen
Ohne ein zusätzlich installiertes komplettes Betriebssystem und auch ohne eine eigens aufgesetzte virtuelle Maschine kommen Laufzeitumgebungen aus. Sie stellen lediglich das benötigte Grundgerüst bereit, um eine plattformfremde Applikation auszuführen. Prominenteste Vertreter unter Linux sind die Java-Runtime [4] und Wine [5].
Wine ermöglicht es, Windows-Programme unter Linux ablaufen zu lassen, während die Java-Runtime in Java geschriebene Applikationen ausführt. Dabei arbeiten beide Laufzeitumgebungen unterschiedlich wirkungsvoll: Während sich Java-Anwendungen in aller Regel problemlos unter einer beliebigen Java-Runtime ausführen lassen, hakt es bei Windows-Programmen unter Wine gelegentlich, wobei Probleme meist im Multimediabereich oder bei neueren Anwendungen auftreten.
Das kommerzielle Wine-Derivat Crossover [6] ergänzt die freie Lösung um eine grafische Oberfläche und ist für die Nutzung bestimmter Anwendungen (darunter Spiele) optimiert.
Emulatoren
Anders als Laufzeitumgebungen bilden Emulatoren ein Betriebssystem ab. Daher muss der Anwender bei der Nutzung eines Emulators keine Lizenz des emulierten Betriebssystems erwerben. Da es sich bei Emulatoren jedoch nicht um perfekte Kopien der emulierten Betriebssysteme handelt, kann es bei manchen Anwendungen Probleme geben, wenn der Emulator bestimmte Funktionsaufrufe nicht unterstützt.
Unter Linux gibt es zahlreiche Emulatoren für Spielekonsolen, aber auch professionell nutzbare Vertreter wie DOSBox [7], das das 16-Bit-Betriebssystem DOS emuliert und dafür auch Treiber für häufig genutzte Hardware beinhaltet. Für ältere Apple-Systeme mit PowerPC-Architektur existieren ebenfalls Emulatoren, die eine Weiternutzung betagter Anwendungen dieser Plattform ermöglichen.
Dasselbe gilt für inzwischen im Mainstream längst vergessene Rechner wie den Amiga oder den Atari. Dabei gilt es jedoch zu beachten, dass diese meist eine gültige Lizenz des Originalbetriebssystems voraussetzen. Auch für 8-Bit-Computer wie den Commodore C-64 oder die Amstrad-CPC-Baureihe gibt es unter Linux verschiedene Emulatoren.
DOSBox
DOSBox befindet sich bereits seit knapp 20 Jahren in kontinuierlicher Entwicklung und Pflege. Es emuliert einen DOS-kompatiblen PC, wobei es auch eine Vielzahl von Hardware nachbildet, die man unter DOS mit gerätespezifischen Treibern ansprechen musste. Dazu nutzt DOSBox einen eigenen Kernel und Interpreter.
Der Emulator genießt unter Gamern, die liebgewonnene DOS-Spiele weiter nutzen möchten, einen guten Ruf. Dazu trägt das ausführliche Feedback der Anwender auf der Webseite des Projekts bei, die mehr als 1000 DOS-Spiele samt deren Kompatibilitätsstatus auflistet [8]. Im professionellen Sektor kommt DOSBox beispielsweise bei der Steuerung von Industriemaschinen oder auch einzelnen branchenspezifischen Anwendungen zum Einsatz, um 16-Bit-Programme, für die es bislang keinen modernen Ersatz gibt, unter Linux auszuführen (Abbildung 1).
Konfiguration
DOSBox findet sich in den Repositories aller gängigen Distributionen und lässt sich von dort bequem mithilfe der grafischen Frontends installieren. Da man es mithilfe von Textdateien konfigurieren muss, verlangt es insbesondere Gelegenheitsanwendern eine detailliertere Einarbeitung ab.
Verschiedene grafische Frontends erleichtern die Konfiguration deutlich, fokussieren jedoch meist auf Spiele. Auf der DOSBox-Projektseite finden Sie eine Liste der verfügbaren Frontends. Diese ist allerdings teilweise veraltet, sodass nicht mehr alle aufgelisteten Frontends erhältlich sind.
Nach dem Installieren von DOSBox finden Sie einen Starter in der Menühierarchie des Systems. Er öffnet die DOS-Emulation in einem eigenen Fenster und leitet Sie zu einem DOS-Prompt weiter. Der Emulator lässt sich von dort weitgehend bedienen wie das Original. Im Vergleich zu diesem fallen das Fehlen der Datei »config.sys« im Hauptverzeichnis und die sehr kurz gehaltene Datei »autoexec.bat« auf, in der die gängigen Konfigurationen für die Hardware (bis auf die Soundkarte) fehlen.
Diese Unterschiede zum Original sind der veränderten Konfiguration des Emulators geschuldet, die sich in der Datei »dosbox-Version.conf« findet. Bei der Installation von DOSBox über die Paketverwaltung der jeweiligen Distribution landet diese Datei in einem versteckten Verzeichnis ».dosbox/« im Home-Ordner des angemeldeten Anwenders.
Syntax
Bei der Konfigurationsdatei handelt es sich um ein reines Text-File, das Sie mit einem beliebigen Editor bearbeiten (Abbildung 2). In der recht umfangreichen Datei finden Sie auskommentierte Bereiche, die zu jeder Einstellungsgruppe Hinweise geben. Da die Syntax der Optionen von denen der originalen »config.sys« abweicht, empfiehlt sich eine umfassende Lektüre der Hinweise.
In der Konfigurationsdatei stellen Sie allgemeine Parameter ein wie die Größe des Video- und Arbeitsspeichers, die Bildschirmauflösung und die Fenstergröße von DOSBox. Hinzu kommen Optionen für die Soundausgabe und für eine eventuell noch vorhandene serielle Schnittstelle.
Auf modernen Rechnern mit Mehrkernprozessoren und Hyperthreading gilt es, die Leistungswerte der CPU im Emulator anzupassen, da bei zu schnellen Prozessoren und zu viel Leistung Anwendungen in der DOSBox abstürzen können oder sich gar nicht erst starten lassen. Das liegt daran, dass die früher üblichen 16-Bit-CPUs nur einen Bruchteil der Kapazitäten heutiger Prozessoren besaßen und die entsprechenden Applikationen an dieses Leistungs(un)vermögen angepasst waren.
Da betagte Prozessoren wie der Intel 8088 und 8086 nur im sogenannten Real Mode arbeiteten, war zudem bei speicherhungrigen Applikationen die Anpassung von Speicherbereichen oberhalb der 640-KByte-Grenze bis maximal 1 MByte RAM nötig. Diese musste man als sogenannten UMB-, XMS- und EMS-Speicher konfigurieren. DOSBox bietet auch dazu in der Konfigurationsdatei entsprechende Optionen, die es erlauben, selbst solche Anwendungen in den Emulator zu integrieren, die sich schon unter dem originalen DOS nur schwer nutzen ließen.
Im Segment »[autoexec]« am Ende der Konfigurationsdatei nehmen Sie die Laufwerkszuweisungen vor. Im Gegensatz zum originalen DOS müssen Sie die anzusprechenden Laufwerke einhängen, damit DOSBox sie mit einem Laufwerksbuchstaben versehen und dann Daten darauf sichern und davon lesen kann. Dazu steht für den manuellen Einsatz der Befehl »mount« zur Verfügung. Um bei festen Laufwerkszuweisungen alle Laufwerke (inklusive optischer) beim Start des Emulators automatisch einzubinden, tragen Sie sie in der Konfigurationsdatei ein.
Lokalisierung
Um das Zusammenspiel mit Linux und der Hardware zu optimieren, stellen Sie in der Konfigurationsdatei die Tastaturbelegung und Sprachoptionen ein. Voreingestellt nutzt DOSBox die US-Tastaturbelegung. Um das deutsche Pendant zu nutzen, modifizieren Sie die Zeile »keyboardlayout=auto« zu »keyboardlayout=gr«. Beim nächsten Start der DOSBox können Sie dann die Tastatur wie gewohnt nutzen.
Um auch deutschsprachige Systemausgaben zu erhalten, müssen Sie eine entsprechende Sprachdatei von der Website des Projekts herunterladen und mithilfe des Parameters »language=deutsch.lng« in der Konfigurationsdatei in den Emulator integrieren.
Java
Die Java-Technologie umfasst primär eine Entwicklungs- und eine Laufzeitumgebung. Letztere etabliert eine virtuelle Maschine, in der der Java-Bytecode ausgeführt wird. Dazu enthält die Runtime auch die benötigten Bibliotheken, sodass man keine Komponenten von Drittanbietern benötigt.
Java-Laufzeitumgebungen gibt es für alle gängigen Plattformen. Unter Linux existiert neben der kontinuierlich von Oracle gepflegten Java-Laufzeitumgebung mit OpenJDK [9] auch eine freie Runtime. Während die freie Implementierung in älteren Versionen noch gelegentlich mit Kompatibilitätsproblemen zu kämpfen hatte und daher manche Java-Programme nicht unter OpenJDK liefen, haben sich beide Varianten inzwischen so weit angenähert, dass kaum noch Probleme auftreten.
Die OpenJDK-Runtime beziehen Sie problemlos aus den Repositories aller gängigen Distributionen. Oft stehen in den Paketquellen gleich mehrere Java-Versionen zur Auswahl. Die Pakete werden alle als OpenJDK bezeichnet, wobei die Developer-Varianten die Entwicklungsumgebung enthalten, während die Laufzeitumgebungen die Bezeichnung »jre« im Namen tragen.
Das Java-Kit von Oracle findet sich auf der Website des Herstellers in mehreren Varianten für Linux. Neben RPM- und DEB-Binärpaketen finden Sie auch Tarballs mit komprimierten Binärdateien für den generischen Einsatz. Alle Versionen sind für 64-Bit-PCs ausgelegt. Ältere Java-Runtime-Varianten wie die noch häufig anzutreffende JRE-Version 8 liegen auch für 32-Bit-Hardware vor, jedoch in der Regel nicht als DEB-Pakete.
Konfiguration
Grundsätzlich bedarf es nach der Installation keiner detaillierten Konfiguration der Laufzeitumgebung. In den meisten Fällen starten Sie ein Java-Programm am Prompt mit dem Befehl »java -jar Programm.jar«. In einigen Fällen liefern Entwickler von Java-Applikationen für Linux Shell-Skripte mit, die beim Aufruf einen Starter in der Menühierarchie des Desktops anlegen.
Gelegentlich weisen Java-Programme jedoch ein optisch rustikales Erscheinungsbild auf. In solchen Fällen modifizieren Sie mit entsprechenden Anpassungen das Look & Feel der Applikationen über die entsprechenden Menüs der jeweiligen Anwendungen. Sie finden sich in den Einstellungsdialogen meist unter Look and Feel oder Erscheinungsbild. Hier können Sie verschiedene vordefinierte Optionen ausprobieren (Abbildung 3).
Versionsverwaltung
Gelegentlich sind Java-Anwendungen auf eine bestimmte Version der Laufzeitumgebung angewiesen. Sie können in den gängigen Distributionen mehrere Java-Versionen simultan auf dem System installieren und bei Inkompatibilitäten eine passende Variante aktivieren. Dazu müssen Sie keine Drittprogramme bemühen: Am Prompt geben Sie zur Auswahl einer Java-Version den Befehl »sudo update-alternatives –config java« ein. Anschließend suchen Sie aus einer Liste der im System gefundenen Java-Umgebungen die passende aus (Abbildung 4).

Abbildung 4: Sie können mehrere Versionen der Java-Laufzeitumgebung im System vorhalten und bei Bedarf eine davon auswählen.
Qemu/KVM
Die erstmals im Jahr 2003 freigegebene Virtualisierungslösung Qemu ist ein plattformübergreifend einsetzbarer Emulator. Sie unterstützt zahlreiche Hardwarearchitekturen und läuft auf unterschiedlichen Betriebssystemen.
Sie installieren den Emulator aus den Repositories aller gängigen Linux-Derivate, wobei Sie beachten müssen, dass es gesonderte Pakete für einzelne Hardwarearchitekturen gibt. Möchten Sie die Pakete für alle verfügbaren Architekturen installieren, greifen Sie zur Universallösung qemu-system. Zusätzlich richten Sie das Paket qemu-kvm aus den Repositories ein.
Qemu läuft auf der Kommandozeile, doch es gibt zahlreiche grafische Frontends, die den Umgang mit der Software erheblich erleichtern. Der Emulator kommuniziert dabei direkt mit dem Linux-Kernel, was eine hohe Arbeitsgeschwindigkeit nahezu ohne Latenzen ermöglicht. Dabei bedient sich Qemu der Linux-Virtualisierungslösung KVM, die die Infrastruktur des Kernels für die Virtualisierung zur Verfügung stellt. Mit dieser Lösung können virtuelle Systeme durchgängig auf freier Software aufsetzen.
Grafisches
Die meisten grafischen Frontends für Qemu wurden ursprünglich für den Gnome- und den KDE-Desktop entworfen und orientieren sich an deren Bedienkonzepten. Sie lassen sich aus den Software-Repositories der verwendeten Distribution heraus installieren und legen entsprechende Starter an. Da Qemu voreingestellt nach der Installation als Dämon läuft, sollten Sie einen Warmstart des Systems ausführen, um die Frontends mit dem Emulator verbinden zu können.
Aqemu
Bei Aqemu handelt es sich um die Standardoberfläche des KDE-Plasma-Desktops für Qemu [10]. Das Werkzeug lehnt sich optisch eng an Virtualbox an und bietet ein ähnlich einfach zu bedienendes Interface. Nach der Konfiguration eines Gastsystems ergänzt ein zweites Fenster das Verwaltungsfenster. Darin arbeitet die virtuelle Maschine (Abbildung 5).

Abbildung 5: Das Steuerfenster (links) unter Ubuntu Mate zeigt Informationen zur virtuellen Maschine mit Haiku als Betriebssystem (rechts).
Aqemu bietet ähnlich umfangreiche Optionen zur Konfiguration jeder einzelnen virtuellen Maschine wie Virtualbox. Teilweise gehen die Konfigurationsmöglichkeiten sogar noch darüber hinaus: So können Sie beispielsweise bei Inkompatibilitäten des grafischen Subsystems aus einer größeren Anzahl von im Gastsystem verwendbaren Grafikkartentreibern wählen. Auch für die Nutzung der Soundhardware stehen umfangreichere Konfigurationsoptionen bereit. Aqemu bindet zudem per Mausklick Ordner ein, die Gast- und Wirtssystem simultan ansprechen können. Das gewährleistet einen reibungslosen Datenaustausch.
Virtual Machine Manager
Der Virtual Machine Manager (VMM [11]) bietet ebenfalls eine komfortable Bedienoberfläche für Qemu und lässt sich bequem aus den Softwarearchiven aller gängigen Distributionen installieren. Dazu integrieren Sie das Paket virt-manager und dessen Abhängigkeiten in das System.
Bei der Oberfläche verfolgen die Entwickler ein eigenes Konzept: So können Sie eine virtuelle Maschine nach dem Anlegen während des Betriebs überwachen. Die VMM-Oberfläche zeigt dabei nahezu in Echtzeit die Auslastung der CPU an, wobei sie zwischen Gast- und Wirtssystem differenziert.
Optisch wirkt die Software spartanisch: Im Verwaltungsfenster sehen Sie zunächst lediglich einen freien Bereich, in dem die virtuellen Maschinen erscheinen. Darüber befinden sich eine Schalterleiste zum Steuern der VMM-Oberfläche sowie eine kleine Menüleiste. Wie bei anderen Virtualisierungslösungen können Sie mehrere Gastsysteme integrieren, wobei für jedes System ein Einrichtungsassistent abläuft, mit dessen Hilfe Sie die Grundkonfiguration vornehmen (Abbildung 6).

Abbildung 6: Mithilfe des VMM-Steuerfensters (links) wird hier unter Ubuntu Mate in der virtuellen Maschine Elementary OS ausgeführt (rechts).
Monitoring
Ergänzend zu den grundlegenden Funktionen können Sie virtuelle Maschinen im VMM-Manager überaus detailliert konfigurieren und während des Betriebs beobachten. Den entsprechenden Dialog erreichen Sie, indem Sie bei laufender Maschine im Verwaltungsfenster auf Konsole der virtuellen Maschine öffnen und Details anzeigen klicken.
In der sich öffnenden Ansicht des Gast-Desktops klicken Sie oben links auf Details der virtuellen Geräte anzeigen. Das blendet den Gast-Desktop aus und öffnet an seiner Stelle einen detaillierten Konfigurations- und Monitoring-Dialog. Darin finden Sie in einer Spalte links sehr detaillierte Optionen zur Einstellung des Systems, die jeweils einzelne Komponenten der Hardware erfassen.
Zur Überwachung des aktiven Gastsystems klicken Sie links in der vertikalen Leiste auf die Option Leistung. Sie sehen nun rechts im Fenster vier fortlaufend aktualisierte Grafiken, die neben der Auslastung von CPU und RAM auch den Netzwerkdurchsatz sowie Lese- und Schreibdurchsatz des Massenspeichers anzeigen (Abbildung 7).
Anhand dieser Grafiken erkennen Sie sofort, ob die virtuelle Maschine zusätzlich konfiguriert werden muss. Dazu vergrößern Sie beispielsweise bei Bedarf den zugewiesenen Arbeitsspeicher, indem Sie links in der vertikalen Leiste den Eintrag Speicher anwählen. In zwei kleinen Eingabefeldern definieren Sie anschließend den maximal verfügbaren und den zugewiesenen Speicher für das Gastsystem neu. Dabei zeigt die VMM-Routine auch den physikalisch im Host-System vorhandenen Arbeitsspeicher an.
Die Anzahl der vorhandenen CPU-Kerne für das Gastsystem lässt sich bei Bedarf ebenfalls modifizieren. Im entsprechenden Dialog, den Sie in der Kategorie Anzahl der CPUs finden, wählen Sie außerdem verschiedene Chipsatzarchitekturen aus, die jeweils über unterschiedliche technische Fähigkeiten verfügen. Diese Einstellung greift erst nach einem Neustart der virtuellen Maschine und dient dazu, abhängig von der eingestellten Architektur die Leistung des Gastsystems im Zusammenspiel mit KVM zu verbessern. Dabei erkennt die Routine den im System verbauten Chipsatz automatisch und bietet im Auswahlfeld nur dazu kompatible Architekturen an (Abbildung 8). Daneben unterstützt VMM verschiedene Chipsatzemulationen.
Virtualbox
Virtualbox stellt eine Arbeitsumgebung für virtuelle Maschinen dar. Im Gegensatz zu reinen Emulatoren oder einer Laufzeitumgebung benötigt es in der virtuellen Maschine ein komplettes Gastbetriebssystem. Dabei agiert das von Oracle weiterentwickelte Virtualbox sehr flexibel: Außer mit diversen Microsoft-Systemen kann es mit allen gängigen Linux-Derivaten und sogar mit Exoten wie IBMs OS/2 Warp, dessen Nachfolger eComStation, FreeBSD und Solaris umgehen. Wo verfügbar, unterstützt es sowohl 32- als auch 64-Bit-Betriebssystemvarianten.
Virtualbox emuliert für die Gastsysteme zahlreiche Hardwarekomponenten: So stellt es die Fähigkeiten der im System real vorhandenen Hauptprozessoren auch im Gastsystem bereit, sodass sich beispielsweise auf Computern mit zwei physischen CPUs mit jeweils mehreren Kernen auch die entsprechende Core-Anzahl nutzen lässt. Netzwerk-, Sound- und Massenspeicherkomponenten emuliert Virtualbox ebenso wie Schnittstellenspezifikationen. Dabei unterstützt es neben den USB-Standards 1.1 und 2.0 auch ältere serielle Schnittstellenstandards.
Ein Massenspeicher steht voreingestellt in Gestalt eines Containers auf dem physisch vorhandenen Laufwerk in der Partition des Wirtssystems zur Verfügung. Dabei kann Virtualbox auch mit vorgefertigten Images umgehen, die es in das System importiert. Festplattenabbilder von Drittherstellern wie VMware oder Parallels lassen sich ebenso nutzen wie QED-Dateien von Qemu.
Grafikhardware muss über die entsprechenden Treiber angesprochen werden. Gelingt das in einem Gastsystem zunächst nicht, nutzt die Virtualbox Standardauflösungen von 800 x 600 oder 1024 x 768 Bildpunkten.
Frontend
Für den professionellen Einsatz lässt sich Virtualbox am Prompt bedienen. Auf Desktop-Systemen wird es jedoch wesentlich häufiger mithilfe eines grafischen Frontends genutzt, für das sich in der Regel nach der Installation ein Starter in der Menühierarchie der jeweiligen Desktop-Umgebung findet. Im Frontend rufen Sie über den Schalter Neu einen Assistenten auf, der nach individueller Vorgabe des Gastsystems in wenigen Schritten die zu emulierende Hardware zusammenstellt, den Massenspeicher-Container anlegt und einen Systemeintrag im Hauptfenster des Frontends generiert (Abbildung 9).
Klicken Sie anschließend auf die Schaltfläche Starten, aktiviert das die virtuelle Maschine in einem neuen Fenster. Im Hauptfenster können Sie mehrere virtuelle Maschinen verwalten, die das Interface links untereinander auflistet. Stellt sich während des Betriebs einer virtuellen Maschine heraus, dass diese nicht optimal konfiguriert ist, modifizieren Sie im Hauptfenster durch einen Klick auf Ändern die Konfiguration des Gastsystems. Dazu steht ein übersichtlicher Dialog zur Verfügung (Abbildung 10).
Modifikationen lassen sich aber auch im Schnellverfahren vornehmen, indem Sie einfach im Hauptfenster rechts auf eine der Kategorien klicken und im sich daraufhin öffnenden Dialog die Änderungen vornehmen. Dabei erhalten Sie Hilfestellung vom System: Bei Änderungen, die Sie per Schieberegler vornehmen, wie bei der Arbeitsspeicherzuweisung und der Anzahl der nutzbaren CPU-Kerne, stellt Virtualbox die Skala entweder grün oder rot dar, sodass Sie die optimalen Einstellungen anhand der Skalenfarbe erkennen.
Bei ungültigen Einstellungen blendet die Software zudem unten im Dialog eine Warnmeldung ein. Fahren Sie mit dem Mauszeiger darüber, erhalten Sie Auskunft über die inkompatiblen Anpassungen, sodass Sie diese korrigieren können.
Grafik
Wie schon erwähnt beschränkt sich die Grafikauflösung des Gastsystems häufig auf 800 x 600 oder 1024 x 768 Pixel. Über den entsprechenden Einstellungsdialog im Gastsystem können Sie Größe und Auflösung jedoch anpassen. Virtualbox ändert dann ohne zusätzlichen Warmstart die Auflösung.
Appliances
Virtualbox bindet vorbereitete Festplatten-Images problemlos ein, sofern sie in einem unterstützten Format vorliegen. Ein Klick auf die Option Werkzeuge links oben im Hauptfenster öffnet eine neue Schalterleiste rechts im Fenster, wo Sie die Option Importieren auswählen. Sie können dann OVA-Abbilder ins System integrieren, wie Sie VMware und Virtualbox anlegen.
Sie können eine OVA-Datei auf der originalen Instanz der Virtualbox generieren, indem Sie im selben Dialog die Option Exportieren wählen. Insbesondere bei Nutzung desselben Abbilds auf mehreren Maschinen lässt sich durch den Import von Appliances viel Zeit und Aufwand einsparen, die bei jeder manuellen Neuinstallation einer virtuellen Maschine anfallen.
Wine
Die zu Windows kompatible Laufzeitumgebung Wine ermöglicht, Windows-Anwendungen unter POSIX-kompatiblen Betriebssystemen auszuführen. Wine liegt als freie Software in den Repositories aller gängigen Distributionen und steht in 32- und 64-Bit-Varianten zur Installation bereit. Es benötigt keine Windows-Lizenz, kann bei Bedarf aber auf originale Windows-DLL-Bibliotheken zurückgreifen, um Windows-Programme zu nutzen. Durch das Nachbilden der Win16-, Win32- und Win64-APIs arbeiten Anwendungen unter Wine sehr zügig.
Unter Linux integriert Wine die vorhandenen Applikationen nahezu nahtlos in die einzelnen Desktop-Umgebungen: Es legt zum Teil sogar Einträge in der Menühierarchie der Arbeitsoberfläche an, über die Sie die jeweiligen Programme starten. Dabei lassen sich mehrere Windows-Programme parallel ausführen (Abbildung 11).
Aufgrund der Komplexität konnten längst noch nicht alle Windows-APIs in Wine nachgebaut werden. Funktionen speziell für Applikationen unter Windows 7 oder neuer stehen nur teilweise zur Verfügung. Anwendungsprogramme für ältere Windows-Versionen arbeiten dagegen meist problemlos. Die Entwickler stellen für Interessierte eine laufend ergänzte Liste bereit, die gängige Windows-Anwendungen samt ihres Kompatibilitätsgrads unter Wine aufführt [12].
Spezielle Microsoft-Technologien wie beispielsweise das .NET-Framework lassen sich unter Wine mithilfe der freien Alternative Mono [13] realisieren, die Sie dazu jedoch zusätzlich installieren müssen. Installieren Sie unter Linux mit Wine eine Windows-Applikation, die .NET benötigt, erkennt der Installer das Fehlen von Mono und zieht es automatisch nach. Ähnliches gilt für die häufig benötigte Gecko-Engine.
Grafisch
Mit Winetricks [14], Q4Wine [15],PlayOnLinux [16] und weiteren gesondert zu installierenden Paketen stehen zahlreiche freie grafische Frontends für die Nutzung von Wine zur Verfügung. Auch proprietäre Lösungen wie Crossover oder Cedega erleichtern den Umgang mit der Laufzeitumgebung erheblich.
;Der Fokus dieser Tools liegt dabei oft auf der Unterstützung von Windows-Games, die sich mithilfe von Wine auch unter dem freien Betriebssystem spielen lassen (Abbildung 12). Crossover dagegen fokussiert eher auf Applikationen aus dem professionellen Sektor.
Für sehr betagte Anwendungen, die noch ursprünglich auf DOS aufsetzen und eine 16-Bit-API benötigen, kommt unter Wine DOSBox zum Einsatz, das Sie jedoch gesondert installieren müssen.
Fazit
Linux entpuppt sich bei genauerem Hinsehen als einzige wirklich für plattformübergreifende Programme nutzbare universelle Lösung. Die enorme Vielfalt an Emulatoren, Laufzeitumgebungen und virtuellen Lösungen ist dabei nicht nur den kurzen Entwicklungszyklen und damit verbunden dem hohen Innovationspotenzial des freien Betriebssystems zu verdanken, sondern auch dem Entwicklungsmodell freier Software schlechthin: Freie Entwickler können ihre Software ohne kommerzielle oder organisatorische Zwänge programmieren und in das Betriebssystem integrieren. Das wiederum ermöglicht es Anwendern, ohne großen Aufwand auch alte Programme und solche aus anderen Welten zu nutzen. (jlu)
Infos
- Virtualbox: https://www.virtualbox.org
- KVM: https://www.linux-kvm.org/page/Main_Page
- Qemu: https://www.qemu.org
- Java: https://www.java.com/de/download/manual.jsp
- Wine: https://www.winehq.org
- Crossover: https://www.codeweavers.com/crossover/
- DOSBox: https://www.dosbox.com
- DOSBox-kompatible Spiele: https://www.dosbox.com/comp_list.php?letter=a
- OpenJDK; https://openjdk.java.net
- Aqemu: https://github.com/tobimensch/aqemu
- VMM: https://virt-manager.org
- Wine- kompatible Anwendungen: https://appdb.winehq.org
- Mono: https://www.mono-project.com
- Winetricks: https://github.com/Winetricks/winetricks
- Q4Wine: https://q4wine.brezblock.org.ua
- PlayOnLinux: https://www.playonlinux.com/de/














