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