Main /

Eine X11-Oberflaeche Auf Clients

Eine X11-Oberflaeche Auf Clients

Hier mal kurz beschrieben, was benötigt wird um auf Rechnern ein X mit Oberfläche zu starten, was eigentlich nicht auf dem Rechner läuft, sondern wo anders, irgendwo auf der Welt.

Das geht mit VNC.

Server einrichten

  • emerge vnc

Ein Verzeichnis ~/.vnc anlegen. Die Rechte sollten rwx------ sein.

mkdir ~/.vnc
chmod 700 ~/.vnc

Darin eine Datei xstartup die folgendes enthalten sollte und ausführbar sein muss.

#!/bin/sh
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
startkde &

Ok, KDE ist vielleicht oversized, aber was solls, dem Client kann es egal sein, der hat keine richtige Arbeit damit, nur die zum Anzeigen.

chmod u+x xstartup

Jetzt den X-Server starten mit

 vncserver -geometry 800x600 :1

Dabei wird beim ersten Start ein Passwort abgefragt, das in der Datei ~/.vnc/passwd abgelegt wird. Das Passwort gilt dann solange, bis die Passwort-Datei gelöscht wird.

Der X-Server läuft im Hintergrund und braucht nicht mit '&' gestartet werden. Die Display-Variable $DISPLAY liegt auf :1.

Der Server kann beendet werden mit

 vncserver -kill :1

So kann man mehrere voneinander unabhängige X-Server starten.

Client einrichten

Der Client ist hier der Rechner, auf dem man den gerade gestarteten X-Server sehen möchte, das kann irgendwo anders sein, solange der X-Server über das Internet erreichbar ist. Und das funktioniert auch relativ gut über langsame ISDN Verbindungen.

Der Client braucht eigentlich nur ein X11 (X-Org oder X-Free) und keinen weiteren Windowmanager. Zusätzlich den vncviewer, der im vnc pakage mit drin ist.

  • emerge vnc

Der Client starten mit vncviewer Rechnername:Display z.B. vncviewer zottel:1

Es wird das Passwort vom X-Server des anderen Rechners abgefragt, das für den vncserver eingegeben wurde und schon öffnet sich ein Window auf dem Client, das einen kompletten X-Server enthält.

Bei Vorführungen praktisch, vncviewer -shared Rechnername:Display so werden andere Instanzen der Ansicht nicht geschlossen, es können mehrere Personen gleichzeitig auf den X-Server zugreifen. Soll es wirklich nur als Vorführung dienen, -viewonly verwenden, so sind Eingaben von Maus und Keyboard auf diesem Client nicht erlaubt.

Falls wirklich nur X11 installiert sein sollte, dann sollte der vncviewer eine eigene Session bekommen und mit -fullscreen gestartet werden. Dazu eine Datei unter /etc/X11/Sessions anlegen mit Namen vnc und dort drin:

 vncviewer -fullscreen Rechnername:Display

Dann in der rc.conf

 XSESSION="vnc"

eintragen und schon kann mit startx ein X-Server auf diesem Rechner gestartet werden, der eigentlich wo anders steht.

Wen es nervt andauert das Passwort eingeben zu müssen, kann sich mit vncpasswd Passwort-Datei z.B. vncpasswd ~/.vnc/passwd-Rechnername eine Password-Datei erstellen lassen. Dann den Viewer starten mit

 vncviewer -passwd ~/.vnc/passwd-Rechnername Rechnername:Display

Und das Passwort falls es richtig ist, wird nicht mehr abgefragt.

Windows

Das ganze funktioniert auch wenn der vncserver unter Windows gestartet wurde oder der vncviewer unter Windows läuft, nur leider ist das Windows Protokoll so schlecht, das das Netzwerk wesentlich schneller sein sollte. Hier mal ein einer Tabelle paar subjektive Daten dazu.

ServerClientEthernetDSLISDN
LinuxLinuxsehr gutsehr guterträglich
LinuxWindowsgutNANA
WindowsLinuxbrauchbarbrauchbarunerträglich
WindowsWindowsNANANA

NA=keine Infos vorliegen

Bei einigen VNC Servern/Cliensts, speziell unter Windows ist die komprimierte Übertragung per default ausgeschaltet. Es gibt jedoch Tight VNC der von Haus aus komprimiert und dabei gerade bei den Grafikdaten einen erheblichen Geschwindigkeitsvorteil (genügend schnelle Maschinen als Client und Server vorausgesetzt) mit sich bringt. Alternativ zu VNC bietet sich in der Windows-Welt der TerminalServer Dienst an der *wesentlich* schneller ist als VNC, da er im Prinzip so ähnlich funktioniert wie X.

Als TerminalClient? bietet sich rdesktop an.

Frische Änderungen | Menü editieren
zuletzt geändert am 19.10.2005 15:21 Uhr von Lars
Edit Page | Page History