|
Dieser Artikel soll euch zeigen wie es geht einen X11 Desktop des Servers
auf dem Client anzuzeigen.
Es besteht die Möglichkeit, die für die grafische Oberfläche erforderlichen Daten, über eine SSH-Verbindung zu übertragen. Um euch zu erklären wie das geht fangen wir erstmal klein an.
Grafische Anwendungen auf dem Client ausführen
Wer es schon einmal versucht hat, hat gemerkt, dass beim öffnen einer X-Anwendung(z.B gedit) lediglich ein Fehlerausgabe erscheint "cannot open display:". Jedoch gibt es die Möglichkeit mit einer einfachen SSH Funktion grafische Anwendungen auf dem Client auszuführen.
Sollte es jemanden geben, der noch kein SSH bei sich installiert hat, der sollte diesen Artikel lesen.
Um jetzt eine Verbindung mit X11 Unterstützung zu starten, dann führt man ganz einfach das hier aus:
user@linux:~$ ssh -X user@server
Lediglich das Attribut -X sorgt dafür, dass wir X-Anwendungen des Servers auf dem Client ausführen können. Probieren wir es doch einfach mal aus, indem wir folgendes eingeben:
user@server:~$ gedit &
Dieser Befehl startet nun "gedit" auf dem Client, aber es ist das gedit vom Server. Das "&" am Ende der Zeile sorgt dafür, dass wir danach weiter Arbeiten können. Wir bekommen eine ProzessID, mit der wir das Programm dann auch killen könnten.
Grafischer Login zum Client per SSH
Rein theoretisch geht es so ja dann auch Gnome oder KDE zu starten, aber wie will man das dann von seinem eigenen Desktop unterscheiden? Deshalb gibt es den Remote-X11-Login. Dieser wird von gdm(Gnome und xfce), kdm(KDE) und dem xdm(UNIX standard Login Manager) unterstützt.
Das dafür verwendete Protokoll nennt sich XDMCP(X display manager control protocol). Dieses ist ein Netzwerkprotokoll, das die Kommunikation zwischen einem Client und einem Server regelt. Es ist standardmäßig in den oben genannten Display Manager integriert. Wir müssen diese nur noch so konfigurieren, dass den Zugriff eines entfernten Rechners erlauben.
GDM
Die Konfigurationsdatei für den Gnome Display Manager finden wir unter /etc/gdm/gdm.conf
user@linux:~$ sudo nano /etc/gdm/gdm.conf
In der Datei suchen wir diesen Abschnitt[xdmcp] und setzen Enabled=true
[xdmcp]
# Distributions: Ship with this off. It is never
# a safe thing to leave out on the net. Setting up
#/etc/hosts.allow and /etc/hosts.deny to only allow local
# access is another alternative but not the safest.
# Firewalling port 177 is the safest if you wish to have
# xdmcp on. Read the manual for more notes on the security
# of XDMCP.
Enable=false
Wird zu:
# the security of XDMCP.
Enable=true
KDM
Die Konfigurationsdatei für KDE müsste in /etc/kde3/kdm/kdmrc liegen.
user@linux:~$ nano /etc/kde3/kdm/kdmrc
Dort ändern wir den Abschnitt so um:
[Xdmcp]
Enable=true
Xaccess=/etc/X11/xdm/Xaccess
Willing=/etc/X11/xdm/Xwilling
XDM
Der XDM erfordert Änderungen in /etc/X11/xdm/Xaccess. Dort suchen wir folgende Zeile:
#* #any host can get a login window
....und nehmen ganz vorne das Raute-Zeichen "#" weg:
* #any host can get a login window
Sollte man die XFree86 Version 4 benutzen erfordert XDM noch eine weitere Änderung in der Datei /etc/X11/xdm/xdm-config:
! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort: 0
...wird zu:
! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
! DisplayManager.requestPort: 0
So haben wir jetzt den Server eingestellt, setzen wir uns an den Client und verbinden uns folgendermaßen:
user@linux:~$ /user/X11R6/bin/X -query [IPServer] :1
Bei "[IPServer]" ist die IP-Adresse des Servers einzutragen. Die eins am Ende der Zeile drückt aus, das Display eins Verwendet werden soll. Unsere grafische Oberfläche läuft auf 0 (F7) das Display 1 läuft dann auf F8. Ist die Oberfläche also hergestellt, dann können wir mit
STRG + ALT + F7 wieder auf unsere lokale Oberfläche. Mit STRG + ALT + F8 wechseln wir wieder auf die Oberfläche des Servers.
Zu beachten ist noch, das der Displaymanager auf dem Server laufen muss, damit wir uns verbinden können. |