Um eine X-Anwendung auf einem Linux-Server zu starten und die Ausgabe auf dem lokalen Windows-Client anzeigen zu lassen, muss man die X-Ausgabe "forwarden". Das ist nichts neues und auch nicht besonders schwierig, aber da ich es so selten machen muss, geht am Anfang immer erst das "Ausprobieren" los ...
1. X-Server unter Windows installieren: Der Xming von http://sourceforge.net/projects/xming/ funktioniert problemlos. Einfach den Windows-Installer runterladen und mit den Standard-Einstellungen installieren. Neben der Uhr sollte danach ein "X" als Symbol erscheinen.
2. Konfiguration des ssh-Servers prüfen: In /etc/ssh/sshd_config muss "X11Forwarding yes" eingetragen sein. Vermutlich reicht es auch aus, dass dort nicht "no" steht (je nachdem was der Server als Default konfiguriert hat). Der Server sollte SSH protocol version 2 unterstützen, aber das sollte heutzutage Standard sein.
3. Putty installieren und konfigurieren: Bei http://www.chiark.greenend.org.uk/~sg...nload.html die "putty.exe" runterladen und folgendermaßen konfigurieren:
a) Session: "Host Name" oder IP des Zielservers eintragen / bei Bedarf USERNAME@HOSTNAME
b) Connections -> SSH -> X11: X11 forwarding anklicken
c) Connections -> SSH -> Tunnels: Source Port "6000", Destinastion "127.0.0.1:6000", "remote" anklicken, "Add". Es sollte nun eine Zeile "R6000 127.0.0.1:6000" unter "Forwarded ports" eingetragen sein.
"Open" anklicken und am Server anmelden.
4. DISPLAY konfigurieren: mit "export DISPLAY=127.0.0.1:0.0" das Ziel-Display setzen und die X-Anwendung starten.
Hinweise:
- Der Tunnel und eventuell auch das Setzen von DISPLAY ist nicht notwendig, wenn der Server den Port 6000 des Windows-Clients erreichen kann. Wenn sich Server und Client nicht im gleichen Netzwerk befinden, ist dies aber aufgrund von Firewalls, etc. meist nicht der Fall.
- Wenn man mit Xming rumgespielt hat, dann läuft der eventuell nicht mehr auf 0.0. Wenn man mit der Maus über das "X"-Symbol in der Taskleiste geht, zeigt er das aktuell konfigurierte Display an. Steht dort etwas anderes, so muss das DISPLAY in Schritt 4 angepasst werden. Alternativ Xming komplett beenden oder PC rebooten, so dass wieder 0.0 gewählt wird.
- Es ist nicht unüblich, dass eine X-Anwendung jede Menge Fehlermeldungen auf der Konsole anzeigt (meistens bezüglich Fonts). Das kann üblicherweise ignoriert werden.
- Die obige Anleitung wurde mit XP getestet
[Update]
Für einen Kollegen habe ich noch ein wenig Server-Hopping mit manuellem X-Forwarding getestet. Folgendes hat dabei problemlos funktioniert:
1) xming starten. Quicktip in der Taskleiste prüfen: Er läuft auf Display 0.0
2) putty mit den Tunnel-Optionen aus der obigen Anleitung konfigurieren (R 6000 localhost 6000) und zum Zielserver verbinden
3) Test: "telnet localhost 6000" verbindet zum X-Server (man sieht nix, aber es kommt auch keine Fehlermeldung -> alles OK). 10-mal Enter drücken, dann beendet der X-Server die Verbindung.
4) ssh -R 6000:localhost:6000 user@nächster-server
5) export DISPLAY=127.0.0.1:0.0
6) Test: "xclock" aufrufen ... ca. 30 Sekunden warten oder das gleiche wie in 3) eingeben.
So kann man beliebige Weiterleitungsketten durch Firewalls und Linux-Gateways aufbauen, indem man einfach immer per "-R 6000:localhost:6000" den Port 6000 durchschleift. Das funktioniert auch ohne die Option "-X" oder eingeschaltetes XForwarding, da man den Port manuell mitnimmt.
Automatisches XForwading in putty zu konfigurieren hat bei meinen Tests aus ungeklärten Gründen gar nicht funktioniert.
Debugging: Wenn die Fehlermeldung "can't open Display" kommt, dann läuft entweder kein xming oder er läuft auf einem anderen Display (1.0?). Alternativ hat auch das Tunnenling des Ports nicht funktioniert.
