Wie richte ich die grafische Ausgabe (VNC/Spice) in QEMU ein?
Einleitung
QEMU ist ein vielseitiger Emulator und Virtualisierer, der häufig zur Ausführung von Gast-Betriebssystemen verwendet wird. Für viele Anwendungsfälle ist eine grafische Ausgabe essenziell, damit der Benutzer auf die virtuelle Maschine zugreifen kann. Zwei populäre Methoden zur grafischen Ausgabe sind VNC (Virtual Network Computing) und Spice. Im Folgenden wird ausführlich beschrieben, wie Sie beide Methoden in QEMU einrichten können.
Grafische Ausgabe mit VNC
VNC ermöglicht die grafische Ausgabe der virtuellen Maschine über das Netzwerk, sodass Sie sich mit einem VNC-Client auf einem anderen Gerät mit der virtuellen Maschine verbinden können. Um VNC in QEMU zu nutzen, müssen Sie beim Start der VM den Parameter -vnc mit der gewünschten Adresse und Port angeben.
Beispielsweise bedeutet der Startparameter -vnc :1, dass QEMU einen VNC-Server auf dem Display 1 startet, was üblicherweise dem Port 5901 entspricht (5900 + Anzeige 1). Ein Startbefehl könnte folgendermaßen aussehen:
qemu-system-x86_64 -m 2048 -hda disk.img -vnc :1Wenn die virtuelle Maschine so gestartet ist, können Sie mit einem beliebigen VNC-Client (z. B. TigerVNC, RealVNC oder Remmina) die grafische Oberfläche unter localhost:5901 erreichen. Optional können Sie auch eine Authentifizierung einrichten, indem Sie eine Passwortdatei erzeugen und sie im QEMU-Aufruf referenzieren, z. B. mit -vnc :1,password=/pfad/zur/passwortdatei.
Außerdem unterstützt QEMU weitere Optionen wie ,tls=on für verschlüsselte Verbindungen oder ,nevershared, um die VNC-Verbindung exklusiv zu machen. Es ist zu beachten, dass ohne zusätzliche Maßnahmen die VNC-Verbindung unverschlüsselt ist, daher empfiehlt sich in produktiven Umgebungen eine Verwendung von SSH-Tunneling oder eine andere Absicherung.
Grafische Ausgabe mit Spice
Spice ist ein moderneres Protokoll zur grafischen Ausgabe, das im Vergleich zu VNC eine bessere Performance, bessere Video- und Audio-Unterstützung und erweiterte Features wie kopieren/einfügen zwischen Host und Gast bietet. Um Spice in QEMU zu nutzen, starten Sie die VM mit dem Parameter -spice und konfigurieren den Spice-Server.
Ein Beispielaufruf könnte so aussehen:
qemu-system-x86_64 -m 2048 -hda disk.img -spice port=5930,addr=127.0.0.1,disable-ticketingHier startet QEMU einen Spice-Server, der auf Port 5930 lauscht und nur Verbindungen vom lokalen Host erlaubt. Der Parameter disable-ticketing deaktiviert die Authentifizierung; für produktive Systeme sollten Sie eine sichere Methode zur Authentifizierung konfigurieren.
Damit die grafische Ausgabe via Spice funktioniert, müssen Sie außerdem eine passende virtuelle Grafikkarte angeben. Häufig wird dazu die Option -vga qxl genutzt, da sie auf die Spice-Klientenseite abgestimmt ist:
qemu-system-x86_64 -m 2048 -hda disk.img -vga qxl -spice port=5930,addr=127.0.0.1,disable-ticketingAuf der Clientseite benötigen Sie einen Spice-Client wie virt-viewer oder remote-viewer. Mit
remote-viewer spice://127.0.0.1:5930stellen Sie eine Verbindung zur VM her und können in der Regel ein flüssigeres und moderneres Benutzererlebnis erwarten als bei VNC.
Zusätzliche Hinweise
QEMU ist flexibel, sodass Sie sowohl VNC als auch Spice gleichzeitig oder jeweils individuell nutzen können. Es ist auch möglich, die Ausgabe auf ein lokales Fenster umzulenken, z. B. mit -display gtk für ein grafisches Fenster auf dem Host.
Je nach Gastbetriebssystem sollten Sie die entsprechenden Treiber installieren. Für Spice zum Beispiel empfiehlt sich die Installation des spice-vdagent Pakets im Gast, um Features wie Clipboard Sharing zu ermöglichen.
Zusammenfassend lässt sich sagen, dass VNC eine einfache und weit verbreitete Lösung für die grafische Ausgabe unter QEMU bietet, während Spice für Benutzer, die leistungsfähigere und feature-reichere Verbindungen benötigen, die bessere Wahl ist. Die konkrete Einrichtung erfolgt über die Kommandozeilenparameter von QEMU und die Verwendung eines entsprechenden Clients zur Verbindung.
