Man öffnet auf "earth" als User A eine Konsole. Zunächst muß "moon" erlaubt werden, das Display von "earth" zu benutzen. Das erledigt man mit dem Befehl
a@earth:~ > xhost moonDabei ist a@earth:~ > der Kommandozeilenprompt, den muß man nicht angeben. Der Prompt soll nur verdeutlichen, wo man sich gerade befindet ;-)
Anschließend verbindet man sich mit telnet nach "moon" und meldet sich dort als Benutzer B an. Hier leitet man jetzt das Display um. Das wird einfach dadurch erledigt, indem man die Umgebungsvariable DISPLAY verändert.
b@moon:~ > export DISPLAY=earth:0Jetzt kann man X-Anwendungen über die Kommandozeile starten, deren Ausgabe dann auf "earth" erfolgt. Beispielsweise:
b:moon:~ > ./netscapeDieses Verfahren ist jedoch nicht geeignet, will man Anwendern ohne weitergehende Systemkenntnisse auf diese Weise Zugang verschaffen. Meiner Freundin dürfte ich das eben beschriebene Verfahren nicht zumuten, denn sie erwartet, daß da ein Icon ist, das sie anklicken kann, und der Rest erledigt sich von alleine, sprich nach einer kurzen Wartezeit startet das Programm.
Die Grundlagen hierfür werden im nächsten Abschnitt beschrieben.
Jetzt kann sich User A angemeldet an PC earth mit dem Befehl ssh moon am Laptop moon als Benutzer B anmelden, ohne daß ein Paßwort abgefragt würde. Der Befehl ssh läßt sich auch nutzen, um Anwendungen direkt zu starten. Dazu ist der Schalten -n vonnutzen. Man muß dann allerdings genau wissen, wo sich die zu startenden Anwendung befindet. Beispiel: shh -n moon ./office52/soffice startet StarOffice5.2 ausgehend vom Home-Verzeichnis des angemeldeten Benutzers. Eine explizite Umleitung des DISPLAYs wie oben beschrieben ist bei ssh -n nicht mehr nötig.
Bei Anwendungen, die man anderen Benutzern zur Verfügung stellt,
weiß man in der Regel, wo sich diese befinden. Also läßt
sich auf der Maschine "earth" ein kleines bash-Skript schreiben, das mit
ssh -n moon xyz die gewünschte Anwendung startet. Diesem Skript zieht
man aufs Desktop und verpaßt ihm ein schönes Icon. Dann kann
der Anwender ganz leicht die Anwendung starten, ohne zu merken, daß
diese auf einem fernen PC läuft.
+-----+ +-------------------------+
|
ISP | ISDN | stargate.ourworldnet.de |
|
|----------| Internet-Gateway
|
+-----+
+-------------------------+
|
|
+-----+
+------------| Hub |--------------------------+
| +-----+
|
|
|
|
|
|
|
+----------------------+
+---------------------+ +--------------------+
| earth.ourworldnet.de
| | moon.ourworldnet.de | | sun.ourworldnet.de | Clients
+----------------------+
+---------------------+ +--------------------+
Auf dem Internet-Gateway befindet sich das Programm kimon, mit dem man
die ISDN-Aktivität beobachten und in gewissen Grenzen steuern kann.
Das Gateway selbst ist ohne X konfiguriert, die Ausgabe soll also auf den
Clients erfolgen, wenn dort X gestartet wurde.
Mit den folgenden zwei Skripten geht das ganz einfach:
# !/sbin/bash
# Ausgabe von Host stargate auf Client zulassen ... xhost +stargate # Serverscript starten und dabei eigenen Hostnamen übergeben ... ssh -n stargate ./kimon.server.sh $HOSTNAME |
# !/sbin/bash
# X-Ausgabe auf Zielhost umbiegen, Zielhost wird als Parameter übergeben export DISPLAY=$1:0 # Programm im Hintergrund starten /opt/kde/bin/kimon & |