Allgemeines Tutorial über RealVNC :
Einleitung
Vielen wird vielleicht folgende Situation bekannt vorkommen: Eines Tages wird man von einem Freund(in) angerufen bzw. man ruft einen Feund(in) an, und es gibt mal wieder ein Problem mit dem Computer. Nur ist es meist sehr schwierig zu erklären, was denn nun genau gemacht werden soll, klick zuerst da, dann da und dann nocheinmal da, kommt da jetzt die Meldung xyz? Diese Probleme machen es oftmal unmöglich, das Problem schnell zu lösen. Wäre es nicht schön, wenn man den Bildschirminhalt des anderen zu sehen und den Computer zu steuern? Und genau da setzt VNC an.
Was ist VNC
VNC steht für Virtual Network Computing und erlaubt es einen Computer über das Netzwerk "fernzusteuern". Einfach gesagt wird von dem Bildschirminhalt eines Computers ein Screenshot gemacht und dieser wird dann an den andern Computer gesendet. Desweiteren kann auch die Maus- und Tastatursteuerung des anderen Computers übernommen werden. Dazu wird auf einem Computer ein VNC Server gestartet und auf dem anderen Rechner ein VNC Viewer.
Verschiedene Versionen von VNC
VNC ist ein offenes Protokoll, deswegen findet man auch verschiedene Versionen. VNC ist auch nicht auf ein Betriebssystem angewiesen, sondern läuft unter Windows, Linux, Mac und noch einigen Systemen und ist natürlich kostenlos. Sozusagen das Original findet man unter
http://www.realvnc.com/.
Eine modifizierte, auf niedrieger Bandbreite spezialisierte Version von VNC ist TightVNC. Durch die zusätzliche Komprimierung benötigt man weniger Bandbreite.
Ab KDE Version 3.1 ist dort ein "Remote Desktop" integriert, der mit dem VNC Protokoll arbeitet. Die Bedienung ist sehr einfach und funktioniert eigentlich sehr gut, das Vorgehen ist aber etwas anders. Man kann, entweder per E-Mail oder persönlich, User zu einer VNC Sitzung einladen. Dazu wird dann ein extra Passwort erzeugt, welches dann die nächste Stunde gültig ist. Leider ist es nicht möglich die Sitzung dauerhaft zu erhalten, somit ist diese Lösung eigentlich nur geeignet, wenn man nur temporär per VNC an diesem Rechner arbeiten muss.
Bei den anderen VNC Versionen wird ein VNC Server dauerhaft gestaretet und man kann sich jederzeit zu diesem Rechner verbinden. Ich werde mich hier auf die TightVNC Version für Windows und Linux beschränken, diese unterscheidet sich aber in der Bedienung eigentlich überhaupt nicht von der Originalversion.
Installation unter Windows
Die Programmdateien von TightVNC findet man -->hier<--. Ich entscheide mich hier für die Zip-Datei, da dadurch keine Installation notwendig ist. Man entpackt die Dateien einfach in ein beliebiges Verzeichnis und von dort kann man dann die Programme aufrufen. Wer automatisch einen Startmenü Eintrag haben möchte, kann auch das Installationprogramm benutzen. Wenn man auf einem Computer nur den Viewer benötigt, muss man natürlich nur die Zip Datei mit dem Viewer herunterladen.
Nach dem Entpacken findet man 2 Exe Dateien im Verzeichnis. Einmal den VNC Server und einmal den Viewer. Als erstes starten wir mal den Server und sehen dann folgendes Bild:
Eigentlich sind alle Menüpunkte selbsterklärend und die Voreinstellungen sind eigentlich auch schon alle richtig. Einzig das Passwort sollte man seinen Wünschen anpassen. Diese Passwort muss dann eingegeben werden, wenn man sich zu diesem VNC Server verbinden möchte.
Eine wichtige Option ist noch die Display Nummer. Man kann den VNC Server auf verschiedenen Display Nummern starten, die dann beim Verbinden angegeben werden muss. Wenn man die Option auto einstellt, dann wird automatisch bei 0 angefangen und dann jeweils automatisch hochgezählt.
Nun klickt man einfach auf OK und es erscheint ein kleines Icon im Systray und der Server läuft.
Auf dem entfernten Rechner muss jetzt einfach der VNC Viewer gestartet werden und dann muss die entsprechende IP oder der Name des Computers mit dem VNC Server eingegeben werden. Zusätzlich muss man noch, mit einem Doppelpunkt getrennt, die 0 des Displays angegeben werden. Läuft also auf dem Rechner mit der IP 192.168.0.2 auf Display 0 der VNC Server, so muss man folgendes eingeben: 192.168.0.2:0 .
Jetzt wird eine Verbindung aufgebaut und man sieht das aktuelle Bild des anderen Rechners.
Installation unter Linux
Bei den meisten Distributionen müsste eigenlich ein VNC Server und Viewer dabei sein, also einfach mal in der Packetauswahl nachschauen. Bei Debian reicht ein apt-get install vncserver xvncviewer aus, um alle benötigten Programme zu installieren.
Man findet aber auch -->hier<-- Packete für RedHat. Falls es kein passendes Packet für die verwendete Distribution geben sollte, dann nimmt man das Source RPM Packet und kompiliert dies mit dem aufruf rpm --rebuild packetname . Dann wird ein passendes Packet für die verwendete Distribution erstellt und kann installiert werden.
Der VNC Server arbeitet ein wenig anderes, als die Windowsversion. Es wird nämlich ein komplett eigener X-Server gestartet, mit dem man dann eine Verbindung aufnehmen kann.
Wenn man die Standardoptionen alle so lassen möchte, dann muss man den VNC Server einfach nurch ein vncserver starten (dies sollte man auf keinen Fall als User root machen). Beim ersten Start wird erst einmal nach dem gewünschten Passwort gefragt und danach wird angezeigt, auf welchem Display der Server läuft. Anders als unter Windows, ist unter Linux Display 1 der Anfangswert, da auf 0 schon der normale X-Server läuft.
Wenn der VNC Server aus einem laufenden X-Server aufgerufen wird, werden diese Einstellungen übernommen, falls man aber den VNC Server aus der Konsole aufruft und kein X-Server läuft, dann sollte man auf jeden Fall die gewünschte Auflösung als Parameter übergeben, also z.B.: vncserver -geometry 1024x768 .
Weitere Einstellungen kann man auch an der Date /etc/vnc.conf vornehmen. Siehe dazu auch die Manpage vom VNC Server.
Beenden kann man den Server durch die Option kill, wenn man also den VNC Server auf Display 1 beenden möchte, gibt man einfach ein: vncserver -kill :1 . Damit wird das Programm beendet.
Den Viewer ruft man einfach mit dem Befehl xvncviewer auf, gefolgt von der Adresse und Displaynummer, also z.B. xvncviewer 1292.168.0.2:1 . Dann sieht man sofort den entfernten Desktop in einem Fenster.
VNC im LAN benutzen
Unsere jetzige Konfiguration eignet sich seht gut für das LAN. Auf den benötigten Computern wird der VNC Server gestartet und auf diese Computer kann man dan aus dem LAN darauf zugreifen und die Computer steuern. Somit kann man sich in manchen Situationen viel Laufarbeit sparen. Hier ein kleiner Screenshot:
Aber eine andere interessante Anwendung wäre doch sicherlich VNC auch über das Internet zu benutzen, um so z.B. auf den Rechner in der Firma zuzugreifen oder auch um von der Firma auf den Heimrechner zuzugreifen. Und theoretisch würde unsere jetzige Konfiguration auch ohne Probleme über das Internet funktionen. Eventuell müssten nur noch in der Firewall die entsrechenden Port freigeschaltet werden und bei Verwendung eines Routers diese Ports an den gewünschten Computer weiterleiten lassen.
Aber diese Lösung hätte gravierende Nachteile. Erst einmal kennt das VNC Protokoll keine Verschlüsselung. Jeder der die Packete abfängt könnte also auch den gerade aktuellen Bildschirminhalt sehen und da auch das Passwort nicht verschlüsselt übertragen wird, könnte dies auch abgefangen werden. Also ist es eigentlich klar, was passieren muss: die Verbindung muss verschlüsselt werden. Dies können wir ziemlich leicht mit Hilfe von ssh machen.
VNC über den Tunnel verwenden
So, wir haben nur erfolgreich einen Tunnel zwischen den beiden Computern hergestellt. Wie jeder Tunnel hat auch dieser einen Eingang und einen Ausgang. Unser Eingang ist auf dem Computer, der die Verbindung mit dem VNC Server herstellt, auf dem Port 5900. Der Ausgang ist auf dem Computer, wo der VNC Server läuft, auf Port 5900.
Wenn wir nun also die VNC Verbindung aufbauen wollen, dann geben wir im Viewer nicht mehr die IP des anderen Computers an, sonern geben unseren eigenen Computer an und als Display 0, also: localhost:0 . Jetzt wird wieder nach dem VNC Passort gefragt und die Verbindung wird hergestellt, natürlich verschlüsselt.
Den Computer über das Internet erreichen
Die meisten von uns werden wahrscheinlich keine Standleitung haben, sondern eine Wählverbindung bzw. DSL. Bei den meisten Providern hat man aber leider keine feste IP, sondern bekommt bei jeder Einwahl eine neue IP zugewiesen. Wie soll ich also auf meinen VNC Server zugreifen, wenn sich die IP immer wieder ändert? Die Antwort ist einfach. Es gibt bestimmt Anbieter im Internet, z.B.
http://www.dyndns.org , die einer dynamische IP einen festen Namen zuordnet. Bei jeder neuen Einwahl ins Internet, wird mit einem speziellen Programm die neue IP mitgeteilt und der eigene Computer ist immer über den gleichen Namen erreichbar. Und wie könnte es anders sein, für den fli4l Router gibt es ein Programm, das bei jeder neuen Einwahl automatisch dem dyndns Dienst die neue IP mitteilt. Aber darauf gehe ich in einem gesonderten Tutorial später ein.