PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : X11Forwarding - X Programme remote nutzen.



m0L
26.02.05, 00:48
Vorab:
Dieses Howto steht unter der GNU Free Documentation License und darf somit weiterverbreitet werden.



Nun zur Sache:


1.: benötigte Programme

Wir brauchen folgende Programme für das X11-Forwarding:
1.1 Auf dem Server:

einen ssh Deamon
das Paket "xauth"


1.2 Auf dem Linux Client:

ein X-Server (X.org oder XFree86)
ein ssh-Client


1.3 Auf dem Windows Client:

den ssh-Client PuTTY
ein Cygwin mit installierem X-Server


2.: Einstellungen

2.1 Auf dem Server:
Auf dem Server muss in der sshd_config (zu finden entweder im Verzeichnis /etc oder Unterverzeichnissen (durch "find /etc -name "sshd_config"" kann man den genauen Ort bestimmen) den Wert "X11Forwarding" auf "yes" setzen:


X11Forwarding yes

Die andere Möglichkeit ist sshd mit dem Parameter -o "X11Forwarding yes" zu starten, falls man nur temporär X11Forwarding erlauben will:

# sshd -o "X11Forwarding yes" &
2.2 Auf dem Linux Client:

Keine besonderen Einstellungen, sollte eigentlich alles sofort funktionieren!

2.3 Auf dem Windows Client:

So, hier gehts nun zur Sache! ;)
Zuerst brauchen wir Cygwin mit installiertem X-Server[1] und PuTTY[2].
Dazu Laden wir uns die Setup.exe von www.cygwin.com und die putty.exe von http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html herunter.
Bei der Installation von Cygwin wählen wir somit folgende Pakete zur installation aus:


xorg-x11-base
xorg-x11-bin
xorg-x11-bin-dlls
xorg-x11-bin-lndir
xorg-x11-devel
xorg-x11-etc
xorg-x11-f100
xorg-x11-fcyr
xorg-x11-fenc
xorg-x11-fnts
xorg-x11-fscl
xorg-x11-fsrv
xorg-x11-libs-data
xorg-x11-man-pages
xorg-x11-man-pages-html
xorg-x11-nest
X-start-menu-icons
X-startup-scripts
xorg-x11-vfb
xorg-x11-xwin
xorg-x11-xwin-gl

Die Installation wird nun einige Zeit Dauern.
Nachdem Cygwin fertig installiert ist können wir schonmal unseren X-Server starten. Dazu gibt es mehrere Methoden, ich gehe hier nur auf die Methode "startxwin.bat" ein, da mir diese am einfachsten und schnellsten erscheint.
Um den X-Server nun zu starten gehen wir in unserem Cygwin Ordner in das Unterverzeichnis usr\X11R6\bin\ und klicken dort die "startxwin.bat" an.
Nun ist der X-Server gestartet und es dürfte ein xterm erscheinen.
Will man nicht, dass ein xterm automatisch mitgestartet wird kommentiert man folgende Zeile in der startxwin.bat aus, oder löscht sie gleich komplett:

run xterm -sl 1000 -sb -rightbar -ms red -fg yellow -bg black -e /usr/bin/bash -l

Nun zu PuTTY:
Nach dem Start von PuTTY gehen wir in die Kategorie Connection -> SSH -> Tunnels und aktivieren die Option "Enable X11 Forwarding".

3.: Bedienung

Um nun auf den Server zuzugreifen müssen wir uns auf dem Server per ssh/PuTTY einloggen.
Wenn wir eingeloggt sind können wir einfach wie gewohnt X11-Programme starten, die dann auf unserem lokalen X-Server auftauchen:

$ xterm &

Und siehe da: Tadaaa, schon haben wir ein X11-Programm von einem entfernten Server über eine sicher Verbindung (ssh) auf unseren X-Server getunnelt.

Anregungen, Kritik, Rechtschreibfehler und sonstige Äußerungen zu diesem Howto bitte direkt an mich per PN, oder als Antwort in diesem Thread.


Dank an:

Terran Marine für den Hinweis, das man auch auf dem Server das Paket xauth braucht.
s-freak für den Hinweis, das man den automatischen start eines xterm bei Cygwin/X verhindern kann.


Links:
[1] Cygwin (www.cygwin.com)
[2] PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/)


Quellen:

Cygwin/X Dokumentation (http://x.cygwin.com/docs/ug/cygwin-x-ug.html)
PuTTY Dokumentation (http://the.earth.li/~sgtatham/putty/0.57/htmldoc/)


ToDo:

XLiveCD beschreiben.


~ejr

m0L
08.03.05, 19:32
X11Forwarding auf Windows Clients unter Verwendung von Cygwin & PuTTY hinzugefügt.

~ejr