= X-Windows-Programme über SSH =

Hat man auf einem Rechner ein X-Windows gestartet, so kann man darin Programme von fremden Rechnern ausführen mittels ssh. Dazu muss auf dem fremden Rechner in der Datei "__etc/ssh/sshd_config__" der Eintrag "__forwardX=yes__" gesetzt sein. Dann wählt man sich in diesen fremden Rechner mit dem Befehl {{{ssh -X [Benutzer@]Adresse}}} von einem __xterminal__ ein.

Mit "Adresse" ist die Adresse des fremden Rechners gemeint.

Den "Benutzer" muss man nur angeben, wenn man sich im fremden Rechner mit einem anderen Benutzernamen anmelden will als auf dem eigenen Rechner.

Das Anmelden vom normalen __Terminal__ erlaubt nicht die Ausgabe im __XServer__, es sei denn - siehe weiter unten. 

Ist man endlich angemeldet, kann man ein beliebiges X-Windows-Programm starten ( will man mehrere starten, muss man sie mit & in den Hintergrund schicken ) im fremden Rechner. Ich habe es ausprobiert mit dem __Konqueror__ und mit __Mozilla__. Beides hat geklappt.

Es sollte möglich sein, dadurch Programme mehrerer fremder Rechner im geleichen __XServer__ auszuführen.

Eine andere Möglichkeit ist für meinen Oberschenkelrechner (Laptop) von einem normalen Terminal aus (Darauf starte ich den XServer von Hand). Damit ssh überhaupt weiß, auf welcher Ausgabe der XServer arbeitet, muss zuerst die Variable DISPLAY gesetzt und exportiert werden. Dann wird der XServer im Hintergrund gestartet, wobei man natürlich das Display angeben muss, wie es in DISPLAY steht. Leider wechselt der XServer nun das Terminal für die Ausgabe, also zurück zum Terminal, woraus man den XServer gestartet hat. Nun mit {{{ ssh -X [Benutzer@]Adresse}}} sich beim fremden Rechner anmelden und dort das ( oder die ) gewünschte(n) Programm(e) starten. Z.B. kann man mit "__startkde__" den KDE starten. Dann hat man sowas wie bei XDMCP aber geschützt!

Wer zu faul ist bei __ssh__ den Parameter -X anzugeben, kann in der Datei __/etc/ssh/ssh_config__ auf dem eigenen Rechner ebenfalls den Eintrag __forwardX__ auf __yes__ setzen. Dann wird der Inhalt der Variablen DISPLAY automatisch übergeben.

KaiEhlers

* Ob die Umleitung klappt, kann man auch mit '''echo $DISPLAY''' prüfen (da steht dann eine Adresse auf "localhost").
* Auf dem Rechner, auf dem man sich einloggt, muss das Paket '''xbase-clients''' installiert sein. Hat dieser Rechner ein eigenes X-System, ist das auf jeden Fall so, bei Servern, auf denen man nur eine einzelne X-Applikation abspielen möchte, kann das evtl. auch fehlen.
* Ggf. hilft einem '''ssh -v ...''' beim Debuggen von Problemen.

-- ThomasBayen


[{Tag Ssh X11}]