remote-X over ssh
Jan-Benedict Glaw
jbglaw at lug-owl.de
Wed Nov 24 22:41:23 CET 2004
On Wed, 2004-11-24 21:32:39 +0100, Stefan Ulrich Hegner <stefan at hegner-online.de>
wrote in message <1101328359.20239.29.camel at hegi.hegner.hn.org>:
> Am Montag, den 22.11.2004, 19:15 +0100 schrieb Jan-Benedict Glaw:
> > 127.0.0.1:6010 entspricht "localhost:10.0". Trag' das doch mal testweise
> > in $DISPLAY ein.
>
> Dann funztt es. Nur versteh' ich jetzt gar nichts mehr. 127.0.0.1 ist
> doch nur die lokale IP auf dem remote-XServer ... damit kann der XServer
Nope.
> auf dem client doch gar nichts anfangen ....
Doch, gerade!
> Was soll mir das sagen?
Also. Wenn Du ein lokales X11 am Laufen hast und lokal eine Applikation
startet, dann ist DISPLAY=0.0 -- daraus wird dann, ob des fehlenden
Rechner-Namens, ein Zugriff auf die named pipe /tmp/.X11-unix/X0 (die
null ist die erste der beiden Nullen der DISPLAY-Variablen).
Wenn man dann unverschlüsselt X11-Applikationen über Netz benutzt, dann
wird für den X11-Client (die Applikation, die ein Bild gemalt haben
möchte) die DISPLAY-Variable auf "x11-server-ip:x.y" gesetzt. Da wird
dann ein TCP-Zugriff auf den Rechner x11-server-ip (der auflösbare
Rechnername gilt natürlich auch:-) , Port 6000+x, draus. Die X-Server,
die auf dem Rechner laufen, belegen also die Ports 6000 aufwärts
(meistens nur ein Port, weil eben nur selten mehrere Graphikkarten
eingebaut sind oder VNC-X-Server laufen...).
ssh-getunnelte Verbindungen werden nun genauso behandelt, wie
unverschlüsselte Verbindungen. Die DISPLAY-Variable wird auf die lokale
IP-Adresse der X11-*CLIENT*-Maschine gesetzt, oder auf localhost. Als
Portnummer wird meist 6010+x genommen; das läßt Platz für lokal auf dem
Client-Rechner laufende X11-Server.
Bei einem ssh-Tunnel legt sich also auf einem potentiellen X11-Port der
ssh-Client auf die Lauer und macht dort einen TCP-Server-Port auf.
Verbindungen darauf (die kommen dann von den X11-Clients) werden
verschlüsselt auf den Rechner übertragen, von dem aus die ssh session
initiiert worden war. Da wird dann anhand der auf diesem Rechner
gültigen DISPLAY-Variablen dasselbe Spiel wiederholt. Also werden die
Daten entweder beim (nun lokal) laufenden X11-Server abgeworfen, oder
via ssh auf den nächsten Rechner weitergeleitet...
Der X11-Client-Applikation wird auf diesem Wege also vorgegaukelt, daß
auf der Kiste, auf der sie läuft, auf einem etwas zu großen X11-TCP-Port
ein X11-Server läuft. Nur ist da halt keiner, sondern nur ein ssh-Port,
der all die Daten bereitwillig annimmer :-)
> PS: Wie krieg ich eigentlich meiner Sarge beigebogen, in Runlevel "halt"
> auch einen Poweroff zu machen? - Das ist echt totel nervig!!!
"poweroff" statt "halt" eintippen :-) Zusätzlich solltest Du
/etc/default/halt beachten, in Verbindung mit /etc/init.d/halt .
MfG, JBG
--
Jan-Benedict Glaw jbglaw at lug-owl.de . +49-172-7608481 _ O _
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O
fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20041124/3b054d96/attachment.sig>
More information about the Linux
mailing list