Allgemein
Knowledge Base
- Neue Struktur (In Arbeit)
- Computertechnisches
Community
Privat
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.
Ein Verzeichnis ~/.vnc
anlegen. Die Rechte sollten rwx------
sein.
Darin eine Datei xstartup
die folgendes enthalten sollte und ausführbar sein muss.
Ok, KDE ist vielleicht oversized, aber was solls, dem Client kann es egal sein, der hat keine richtige Arbeit damit, nur die zum Anzeigen.
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.
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.
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.
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.
Server | Client | Ethernet | DSL | ISDN |
Linux | Linux | sehr gut | sehr gut | erträglich |
Linux | Windows | gut | NA | NA |
Windows | Linux | brauchbar | brauchbar | unerträglich |
Windows | Windows | NA | NA | NA |
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.