![]() |
|
|||
X-Sesssions und XDMCPZwar sind wir nun in der Lage, einzelne X-Appliaktionen auf einem entferten Linux-Rechner zu starten und deren Fenster auf unseren Linux- oder Windows-Desktop "umzuleiten", aber geht das nicht auch einfacher? Schließlich will man nicht nacheinander verschiedene X-Applikationen über Telnet o.ä. starten, sondern den (KDE-/gnome- ...)Desktop der entfernten Maschine komplett vor sich haben.X-SessionAllgemein gesprochen handelt es sich dabei um sog. X-Sessions, eine Anzahl von X-Clients (Window Manager, Panel, Uhr etc.), die über ein Skript hintereinander gestartet werden, z.B. das Srkipt kdestart. Bevor die X-Session gestartet wird, muss sich der User an einem graphischen Login-Bilschirm einloggen. Alles das erledigt der X DisplayManager - das Programm xdm, oder - je nach Desktop-Variante - kdm bzw. gdm. Bei UNIX-Varianten mit CDE-Desktop erledigt diese Aufgabe das Programm dtlogin.X Display Manager Control ProtocolDer X Display Manager ist auch in der Lage, sein graphisches Login und die X-Session über das Netzwerk an einen entferntetn X-Server zu vermitteln - nämlich durch das X Display Manager Control Protocol, kurz XDMCP. Der X-Server sendet eine Anfrage ("XDMCP Query") and den XDM des Linux-Servers, woraufhin dieser den Login-Bildschirm und dann die komplette X-Session auf den anfragenden X-Server leitet - sofern die Sicherheitsrichtlinen das zulassen. Der XDM-Prozess kümmert sich dabei auch um das Setzen der DISPLAY-Variable sowie eine gewisse Absicherung der X11-Verbindung, dazu später. Damit die folgenden Verbindungsversuche über XDMCP
überhaupt
erfolgreich sein können, muss der Zugang zum X-Display-Manager auf dem
Ziel-Host freigeschaltet werden. Details dazu verrät die Seite XDMCP-Zugangskontrolle. XDMCP QuerySoll der X-Server ein XDMCP Query absetzten, so muß das beim Start als Parameter angegeben werden. Auf Linux heißt der X-Server einfachX und wird dann folgendermaßen gestartet:X -query remote-rechner
Das funktioniert leider nur für den System-Administrator root. Normalsterbliche User verwenden einen Wrapper: Xnest -query
remote-rechner
Sofern auf remote-rechner ein xdm, kdm, gdm oder dtlogin läuft, der entfernte Logins zulässt, sollte jetzt der Login-Bildschirm und anschließend der X-Desktop wie auf remote-rechner erscheinen. XDMCP BroadcastNoch einen Schritt bequemer ist die Broadcast-Variante von XDMCP. Der X-Server sendet seine XDMCP-Anfrage als Bradcast ins Netz und alle Linux-/UNIX-Maschinen mit einem XDM-Prozeß, der überhaupt Anfragen von entfernten X-Servern zulässt, melden sich. Der X-Server connectet automatisch mit dem Display Manager, der sich als erster meldet, und der User erhält sofort den Login-Bildschirm des entfernten Rechner. Wiederum muss dem X-Server ein entsprechender Parameter beim Start mitgegeben werden:Xnest -broadcast
XDMCP IndirectDie Broadcast-Methode von XDMCP hat allerdings einen Hacken: Broadcast werden in der Regel von Routern nicht weitergegeben, deshalb melden sich auf XDMCP Broadcast nur Rechner mit denen man sich im selben Netzwerksegment befindet. Stehen mehrere Server, die man ansprechen will, in zusammen einem anderen Netzsegement, so übermittelt XDMCP Idirect an den X Display Manager eines dieser Server den Auftrag, einen XDMCP Broadcast (in seinem, also aus userer Sicht entfernten Netzsegment) abzusetzen und eine Liste aller antwortenden Maschinen zurückzusenden. Der User wählt per Mausklick seinen Wunsch-Server aus und schon erscheint dessen Login-Bildschirm. Dabei kann es sich um dieselbe Maschine handeln, an die auch die XDMCP Indirect-Anfrage gesendet wurde (das hätte man auch schneller mit XDMCP Query haben können) oder um einen dritten Rechner. Das passende Kommando:Xnest -indirect
remote-rechner
|
![]() |
|