Dies ist eine AlteSeite aus unserem UseModWiki bei Sourceforge.
Bitte überarbeite die Seite, passe die Formatierung für das JSPWiki an und entferne diesen Text.
Vielen Dank!
= XDMCP Terminal-Server = Manchmal ist es sinnvoll, einen anderen Rechner fernsteuern zu können. Am komfortabelsten geht dies, wenn man die gesamte Oberfläche (z.B. KDE) auf einen anderen Rechner umgeleitet werden könnte. Dies geht unter Linux am besten mit dem XDMCP-Protokoll. === Wer ist hier der Server? === Zur Terminologie: Der X-Server ist der Rechner, auf dem die Oberfläche dargestellt wird, also der Rechner, vor dem der Benutzer sitzt. Die Programme, die auf einem entfernten Rechner (den der normale Benutzer als ''Server'' bezeichnen würde), können über diesen X-Server aus Ihrer Sicht dem "entfernten" Benutzer Bildschirmausgaben senden. == Wie funktioniert's == In einem normalen KDE-System wird der X-Server vom KDE-Programm "KDM" verwaltet und gestartet. KDM ist der eigentliche Login-Manager. In einem normalen Linux-System geht dieser Login-Manager hin und startet einen X-Server (also eine Bildschirmoberfläche). Nachdem er auf diese Weise ein Terminal "gefunden" hat, sendet er dort ein Fenster hin, damit man sich einloggen kann. So weit so gut. Nun kann man dies jedoch auch anders einrichten. KDM kann auch gar keinen oder mehrere X-Server (Alt-Shift-F7 und Alt-Shift-F8) öffnen. Darüberhinaus können aber auch andere X-Server über das Netzwerk sich beim KDM melden und bekommen dann ebenfalls ein Login-Fenster. Um das so einzurichten, muss man zuerst mal den KDM (der auf dem eigentlichen Server läuft) so einrichten, daß er Verbindungen übers Netzwerk annimmt. Danach muss man einen X-Server starten, der übers Netzwerk eine Verbindung sucht. == Konfiguration == === KDM (auf dem Terminal-Server) === Die Verbindung per XDMCP grundsätzlich erlauben geht in der Datei '''/etc/kde3/kdm/kdmrc'''. Hier wird folgendes eingetragen: [Xdmcp] Enable=true Dann muss angegeben werden, welche Rechner speziell sich einloggen dürfen. Im Beispiel gebe ich einfach mal alles frei. Dies geht in der Datei '''<nowiki>/etc/kde3/kdm/Xaccessc</nowiki>''' durch eine Zeile, die einfach ein Sternchen enthält. Um die Änderungen nun zu aktivieren, sollte man nun den KDM neu starten: /etc/init.d/kdm restart === X (auf dem Arbeitsplatz) === Man startet den X-Server per Konsole mit folgendem Befehl: X -query terminalservername Ggf. sollte man vorher mit '''/etc/init.d/kdm stop''' seine eigene graphische Oberfläche beenden. Wer bereits einen X-Server offen hat und einen zweiten auf ''Shift-Alt-F8'' öffnen will, kann z.B. auch folgendes machen: X :1 -query terminalservername Statt dem Namen kann man natürlich auch die IP-Adresse angeben. Damit kann man insbesondere ausschliessen, das Probleme nur mit der Namensauflösung zusammenhängen (ein immer wieder gern gemachter Fehler bei allen möglichen Netzwerkdiensten). ==== graphisch auswählen, das man auf einen fremden Rechner will ==== Man kann auch das lokale kdm (auf dem Arbeitsplatz) ao konfigurieren, daß man beim starten des Rechners aussuchen kann, ob man auf dem eigenen oder dem entfernten Rechner arbeiten will. Näheres zu den kdm-Optionen gibts übrigens auf http://docs.kde.org/stable/en/kdebase/kdm/kdm-files.html. Man schreibt folgende Zeilen in die Datei ''/etc/kde3/kdm/kdmrc'' in die Sektion ''[X-*-Greeter]'': <pre> LoginMode=DefaultLocal ChooserHosts=terminalserver.localdomain </pre> (Man kann letztere Zeile wohl auch weglassen, wenn der Terminalserver per Broadcast zu erreichen ist.) === Chooser konfigurieren === Falls man mehrere Terminal-Server im Netz hat, kann man nun noch weiter gehen. Es gibt sog. indirekte Querys, bei denen der XDMCP-Server gar nicht selber das Login bereitstellt, sondern die Anfrage nur "durchreicht" an den eigentlichen KDM-Server. Interessant wird dies vor allem unter Einsatz des '''Chooser'''s. Dann öffnet sich als allererstes ein Chooser-Fenster, in dem man alle bekannten XDMCP-Server aufgelistet bekommt. Man kann sich dann einen aussuchen, indem man ihn anklickt. Daraufhin erscheint dann als nächstes das Login-Fenster des entsprechenden Rechners. Hierzu sind zwei kleine Änderungen nötig: Auf dem Server, der die erste Anfrage bekommt, muss der chooser aktiviert werden. Dazu schreibt man in die ''Xaccess''-Datei eine Zeile wie diese: * CHOOSER BROADCAST Wenn man (nur) spezielle Terminalserver ansprechen will oder diese durch einen Broadcast nicht erreichbar sind, kann man auch Ihre Namen angeben: * CHOOSER susi heidi franzi Dann ersetzt man beim Start des X-Servers "-query" durch "'''-indirect'''". Schon kanns losgehen. -- ThomasBayen ---- = Tips und Links = Man kann wie unter KdeSessions beschrieben auch einen zweiten X-Server auf demselben Rechner starten, der dann vom gleichen KDM mit einem Login-Fenster versorgt wird. Wenn einem eine solche einfache X-Verbindung nicht ausreicht, kann man mit dem [http://www.nomachine.com NX-Server] einerseits X-Verbindungen auch über enge Leitungen mit hoher Latenz rasant beschleunigen und andererseits auch wahlweise VNC- und Windows-Terminalserver-Verbindungen einbinden. Näheres dazu in einem [http://www.pl-berichte.de/berichte/lt2004-nxartikel.html Pro-Linux-Artikel]. Debian-Pakete werden z.Zt. unter http://www.kalyxo.org/twiki/bin/view/Main/NoMachineNX zusammengestellt. ---- = Probleme = Lieber Thomas,<br> das kann's nicht alleine sein. Ich habe all dies ( unter KDE3.1 ) zu Hause gemacht. Ich erhalte mit '''"X -query terminalserveradresse"''' vom anderen Rechner aus zwar ein X-Windows aber keine Möglichkeit mich anzumelden. Nur das Kreuz lacht mich an.<br> KaiEhlers :''Seltsam. Das bedeutet, es funktioniert gar nichts. :-( Du "erhältst" ja keinen X-Server, sondern startest ihn selber (mit "X ...". Dieser sollte dann nach einem sogenannten "query" ein Login-Fenster "erhalten". Wenn das nicht kommt, hakts irgendwo. Mit der KDE-Version hat das übrigens nix zu tun, da diese Funktionalität vom X-Server her kommt. Statt KDM (Login im KDE-Look) kannst Du also auch genausogut XDM (X-Windows / Motif-Look) oder GDM (Gnome-Look) nehmen. Die Konfiguration sollte bis auf Pfad und Namen der Konfigurationsdateien identisch sein.'' :''Was ich nicht erwähnt hatte ist, daß man nach dem Ändern der Konfiguration auf dem "Server" (also da, wo KDM läuft und später die Programme laufen sollen) KDM neu starten sollte (bzw. überhaupt erstmal starten sollte, wenn man wie Kai normalerweise kein graphisches Login hat). Wenn das alles nicht hilft, würde ich mal in die Logdatei des X-Servers auf dem Client und in die KDM-Logdatei (wenns die gibt) auf dem Server schauen, ob sich irgendwo was tut. -- ThomasBayen'' Seit dem ich mit ssh und XServer ( siehe SshMitXserver ) herumgefummelt habe, funktionierts. Das einzige, was ich aber für ssh verändert habe : Ich habe in der Datei '''/etc/ssh/sshd_config''' den Eintrag " forwardX " auf " yes " gesetzt. Daran kann's nicht liegen. KaiEhlers = Und wie geht's bei Suse 9.1 = Im Prinzip genauso! Aber bei Suse ist ja immer irgendwas anders. /etc/kde3/kdm gibt es nicht. Hier wird mit xdm gearbeitet und es ist alles schon vorbereitet. XDMCP ist aktiviert - wo, dass weiss ich nicht. In der '''<nowiki>/etc/x11/xdm/Xaccess</nowiki>''' sind mit * schon aller Rechner erlaubt. Hier kann man ggf. Einschränkungen machen. Suse hat aber den Port deaktiviert. Dieser muss in '''<nowiki>/etc/services</nowiki>''' aktiviert werden. Zeilen vom Port 177 : xdmcp 177/tcp xdmcp 177/udp Bei Suse wird nun /etc/init.d/xdm restart ausgeführt. Weiter wie oben beschrieben. Bei Suse am besten mit ALT+STRG+F2 ein TTY-Konsole öffnen und X :1 -query terminalservername aufrufen. So nun noch für blinde Anfänger wie mich: das X wird groß geschrieben ! Der letzte Stolperstein liegt im Namen des Terminalservers. Wer hier Suse 9.1 Standard-Installation hat, bei dem heißen alle Rechner "linux". Der Rechnername bei der Samba-Installation hat hier keine Bedeutung! Also entweder die IP-Adresse angeben oder die Rechnernamen eindeutig machen. Siehe auch oben. Rolf Hagenguth = Xserver für Windows = Als nächstes habe ich mir TNTXserver für Windows installiert '''<nowiki>www.microimages.com</nowiki>'''. Von hier klappt der Zugriff aber bisher nicht. Hat damit oder mit einem anderen Xserver irgendwer schon Erfolg gehabt? Rolf Hagenguth Ich benutze hier Cygwin. Da ist seit einiger Zeit auch eine Portierung von XFree-86 drin. http://sources.redhat.com/cygwin/ - PeterHormanns Wau, das Ding ist ja geil! Ich weiß zwar nicht was man alles machen kann, aber nach der Installation und dem Start (Icon auf dem Desktop) öffnet sich eine Textconsole und man kann Linux-Commandos eingeben,insbesondere "X -query .......". Ex tut sich eine X-Session auf und kurze Zeit später das Loginfenster des angegebenen Terminalservers. Die Geschwindigkeit ist hervorragend. Es werden auf ca. 130MB eine Linux - Dateistruktur (nicht Dateisystem) abgebildet. Das ist zwar ein bischen happig für einen Xserver, aber man kann alle hardwareunabhängigen Unix-programme, die einem als Source vorliegen zum laufen bringen. Bei der Installation werden eine ganze Menge an Programmen direkt installiert, daher die 130 MB. Wenn man wie ich auf Windows noch eine Zeitlang angewiesen ist, ist das eine prima Sache um mal eben etwas auf dem Server aus zu probieren. Es funktioniert auf Anhieb, was ich vom TNTXserver nicht behaupten kann. - RolfHagenguth