Fenster vom Linux-Server auf dem Windows-Desktop
X11-Forwarding - die einfachste Variante, um grafische Anwendungen von Servern auf Desktops zu bringen
Typisches Setup: Im Heimnetz gibt es einen Headless-Linux-Server, also ohne Monitor - etwa einen Raspberry Pi als Media-Center oder ein Ubuntu-NAS. Auch ohne Monitor könnt Ihr darauf Apps mit grafischer Oberfläche nutzen. Und zwar auf einem anderen Rechner im Netz. Hier die Super-Easy-Variante.
Zunächst: So ein Setup funktioniert natürlich auch mit virtuellen Maschinen und das ist bisweilen ganz praktisch. Ihr könnt zum Beispiel mit Multipass mit nur einem Befehl eine Ubuntu-VM erstellen, die nur dazu dient Euch ein bestimmtes Programm zu liefern, etwa einen Browser wie Firefox. Zum Testen ist das etwa sehr praktisch.
Das Prinzip: Unter Linux sorgt der X-Server dafür, dass die grafische Ausgabe auf einem bestimmten Monitor (Screen) eines bestimmten Arbeitsplatzes (Display) eines bestimmten Rechners (Device) erfolgt. Standardmäßig heißt das: Der lokale Rechner, der einzige Arbeitsplatz (= Kombination aus Maus, Tastatur, Monitore = Display), der einzige Monitor. Und mittels X11-Forwarding lässt sich die Ausgabe eben auf einen anderen (Netzwerk-)Rechner und dessen Arbeitsplatz und Monitore umleiten. Das Resultat: Ein (fast) ganz normales - beispielsweise - Firefox-Fenster auf dem Windows- oder natürlich auch Linux-Desktop.
Da Windows als Empfänger mit dem X-Zeugs selbst nichts anfangen kann, muss erst ein X-Server installiert werden, der die Linux-Daten verarbeiten kann. Unter Linux ist es dann ganz einfach - es wird nur eine Variable gesetzt.
Windows: X-Server einrichten
Es gibt diverse X-Server für Windows, VcXsrv Windows X Server funktioniert tadellos. Installiert und startet dann das Programm XLaunch. Klickt Euch durch den Assistenten - Ihr könnt fast alles auf Standard belassen.
Lediglich im letzten Dialog Extra settings könntet Ihr Disable access control ankreuzen, wenn Verbindungen von allen Rechnern zugelassen werden sollen. In einem normalen Heimnetz bietet sich das an.
Zum Abschluss solltet Ihr die Konfiguration noch speichern, um sie beim nächsten mal direkt aufrufen zu können.
Linux: X weiterleiten
Um es kurz zu machen, konkret unter Ubuntu:
export DISPLAY=192.168.178.100:0.0
Hier wird einfach nur die Variable DISPLAY gesetzt und zwar auf den Server 192.168.178.100 und auf Screen 0 an Display 0. Die beiden Nullen stehen dabei schlicht für den Standard-Screen/-Monitor am Standard-Display/-Arbeitsplatz.
Klingt vielleicht verwirrend, meint aber praktisch nur: Habt Ihr am Rechner zwei Monitore hängen, sind das die Screens 0 und 1 am Display 0. Und ja, Rechner mit zwei unabhängigen Arbeitsplatzen/Displays sieht man in der Praxis eher selten, daher steht Display fast immer auf 0.
Die DISPLAY-Variable gilt natürlich nur für die aktuelle Session. Wollt Ihr diese Einstellung permanent setzen, schreibt sie einfach in Eure (versteckte) Profil-Datei im Home-Verzeichnis:
echo export DISPLAY=192.168.178.100:0.0 >> ~/.profile
Beim nächsten Start läuft die Weiterleitung dann automatisch. Aber erst: Testen!
Testen
Zum Testen braucht Ihr irgendetwas Einfaches, beispielsweise das Test-Fenster aus den X11-Apps:
sudo apt install x11-apps
xlogo
Und schon poppt auf dem Windows-Desktop ein kleines Fenster mit dem X-Logo auf.
Wenn Ihr nach einer sichereren Variante sucht: X11-Forwarding geht auch per SSH. Und es gibt noch weitere Möglichkeiten, Linux-Fenster auf den Windows-Desktop zu bringen. Aber keine ist so schön simpel wie diese hier :)