Rechner ferngesteuert mit VNC

1. Quelle

Freier Download von: http://www.uk.research.att.com/vnc/

2. Betriebssystem / Plattform

3. Installationsumfang

Begriffsdefinitionen

VNC-Server
Die Anwendung, die es ermöglicht auf den Rechner zuzugreifen. Diese Anwendung läuft in der Regel auf Netzwerk-CLIENTS

VNC-Viewer
Die Anwendung, die es einem Benutzer erlaubt, auf einen Rechner mit laufendem VNC-Server zuzugreifen.

Es gibt jeweils eine Server- und eine Client-Version von VNC. Wobei es dabei unerheblich ist welches Betriebssystem auf dem Server oder Client läuft.

Es müssen nicht beide Versionen (also Server und Viewer) auf einem Rechner installiert werden. Im Normalfall wird auf den Netzwerk-Clients nur der VNC-Server installiert. Der Supporter braucht im Normalfall nur den VNC-Viewer.

Die Installation für den Server benötigt lediglich 0,5 MB auf der Festplatte, der Client kommt mit 172kB (!) aus.

Da der VNC-Viewer auch als JavaApplet innerhalb eines InternetBrowsers laufen kann, muß ggf. das JDK installiert werden (mehrere MB !).

Desweiteren wird ein funktionierendes Netzwerk über TCP/IP vorausgesetzt. Für die Namensauflösung muß entweder ein DNS-Server erreichbar sein, oder eine 'hosts'-Datei auf dem VNC-Client-Rechner existieren.

4. VNC-Server

Der VNC-Server kann entweder als Daemon (Dienst) im Hintergrund laufen oder explizit bei Bedarf (AppMode) gestartet werden.

Die Einrichtung des Servers läßt verschiedene Betriebsmodi zu. So kann z.B. festgelegt werden, ob ein zugreifender Client (mit VNC-Viewer) auch Eingaben vornehmen kann, oder nur zuschaut (z.B. bei Seminaren hilfreich).

Wie unter z.B. unter Linux/X11 üblich, kann ein Rechner mehrere Displays haben. Dieses wird auch unter VNC berücksichtigt. Der Zugriff auf den Rechner kann z.B. auf ein Display beschränkt werden, oder aber auch für alle Displays freigegeben werden (z.B. mehrere gleichzeitige Benutzer an einem Rechner unter X11). Beim Verbinden zu diesem Server muß dehalb auf dem Client auch eine Display-Nummer angegeben werden. Ein VNC-Server unter Windows hat dagegen immer die Display-Nummer '0'.

Selbstverständlich kann der VNC-Server mit einem Paßwort gegen unbefugten Zugriff gesichert werden. Der VNC-Server teilt allerdings nicht mit, wenn auf den Rechner zugegriffen wird. Ebensowenig schert sich VNC um die Benutzerrechte des Betriebssystems. Der VNC-Client kann mit den Rechten des gerade angemeldeten Benutzers arbeiten, und sich z.B. unter Windows auch an- und abmelden. Deshalb sollte der Admin es tunlichst vermeiden den VNC-Server auf seinem Rechner/Account als Daemon laufen zu lassen (!).

5. VNC-Client

Der VNC-Client kann auf drei Arten realisiert werden.

  1. Zunächst einmal wäre da der Client für das jeweilige Betriebssystem, der entweder aus dem Quellcode übersetzt wird, oder als lauffähige Binary vorliegt.
  2. Die zweite Variante ist der JAVA-Client, der aus einem Java-fähigen Browser heraus aufgerufen werden kann (nicht JavaScript !).
  3. Auf Systemen, die Java direkt ausführen können (JRE), kann der Java-Client auch ohne Browser gestartet werden.

Grundsätzlich ist anzumerken, daß der native VNC-Client wesentlich schneller ist, als die Java-Lösung. Die Java-Lösung sollte also nur auf Rechnern eingesetzt werden, für die kein nativer Client verfügbar ist (oder noch nicht stabil läuft).

Der Aufbau der Verbindung durch den nativen Client erfordert die Eingabe der IP-Nummer des VNC-Servers gefolgt von der Displaynummer (bei DNS-/HOSTS-Auflösung funktioniert das natürlich auch über den Rechnernamen und die Displaynummer).

Beispiel:
192.168.100.1:0
windose.mydomain.com:0

Die Display-Nummer wird durch einen Doppelpunkt von der IP-Adresse getrennt.

Der Verbindungsaufbau über einen Web-Browser erfolgt über die EIngabe der Rechneradresse (http-Protokoll) und der Port- und Display-Nummer des Servers:

Beispiel:
http://192.168.100.1:5800/
http://windose.mydomain.com:5800/
(Port-Nummer (hier '5800') und Display-Nummer (hier '00') werden dabei zusammengefasst - für Display 03 wäre Port 5803 korrekt.)

Für den Aufbau der Verbindung rein über Java muß z.B. auf einem Linux-System folgendes eingegeben werden:

admin@support:~> java vncviewer HOST=192.168.100.1 PORT=5900

Daraufhin wird (unter X11) ein Fenster geöffnet.

Bei der JAVA-Lösung wird also bei den Port-Nummern unterschieden!

Allen Versionen gleich ist die Paßwortabfrage, die direkt nach dem Aufbau der Verbindung angezeigt wird (sofern ein Paßwort vergeben wurde).

Beim nativen VNC-Client (unter Windows 9x/NT/2000) ist ein Rechtsklick auf die Titelleiste des Fensters sehr hilfreich, da dort einige zusätzliche Funktionen angeboten werden. So sind dort z.B. folgende essentielle Befehle abrufbar:

Windows-Tip:
STRG-ALT-ENTF (um sich an NT / 2000 anzumelden)
ConnectionOptions (dort kann z.B. eingestellt werden nur mit 8Bit-Farben zu arbeiten)

Für Linux wurden mittlerweile auch Clients entwickelt (z.B. kvnc), die aber (noch) nicht zufriedenstellend laufen, so daß dort die Verwendung der Browser- oder der JAVA-Variante zu empfehlen ist.

Durch den Einsatz von TCP/IP lassen sich natürlich auch Rechner über das Internet oder einen Router fernwarten.

6. Leistung / Bewertung

VNC erfordert viel Rechenleistung auf dem Client, besonders wenn mit der Browser oder Java-Version gearbeitet wird. Desweiteren ist eine möglichst schnelle Netzwerkanbindung (100Mbit) empfohlen, da VNC ohne Komprimierung arbeitet.

Die Geschwindigkeit ist das einzige wirkliche Manko von VNC. Grundsätzlich ist bei 10Mbit, DSL oder einer ISDN-Verbindung der VNC-Client auf 8Bit-Farben umzustellen, damit die Geschwindigkeit im erträglichen Rahmen bleibt.

Da es sich aber um kostenlose Software handelt kann man über das Geschwindigkeitsmanko aus zwei Gründen noch hinwegsehen:

  1. Eine (etwas) schnellere kommerzielle Software reißt ein ziemlich großes Loch in die Kasse, vor allem wenn es um größere Netzwerke geht.
  2. VNC ist für alle gängigen OS verfügbar.

Im privaten Umfeld ist VNC erste Wahl !