Virtual Network Computing


Virtual Network Computing (kurz VNC) ist eine von Olivetti & Oracle Research Laboratory (ab 1999 AT&T) entwickelte Software, die den Bildschirminhalt eines entfernten Rechners (auf dem die VNC-Server Software läuft) auf einem lokalen Rechner (auf dem die VNC-Viewer Software läuft) anzeigt und im Gegenzug Tastatur- und Mausbewegungen des lokalen Rechners an den entfernten Rechner sendet. Damit kann man auf einem entfernten Rechner arbeiten, als säße man direkt davor. Alternativ ist auch ein Nur-„Lese“-Modus möglich, bei dem also lokale Eingaben keine Auswirkungen auf den entfernten Rechner haben.
Die originale VNC-Version des Windows-Servers zeigt in einem weißen Icon in der Taskleiste, dass der Server läuft. Dieses wird schwarz, sobald sich ein Viewer mit dem Server verbindet, so dass der lokale Benutzer dies bemerkt. Da VNC quelloffen ist, ist es möglich, diese Anzeige herauszupatchen, was von den VNC-Entwicklern aber nicht empfohlen wird und daher nicht dokumentiert wird.
Neuere Versionen von VNC enthalten einen kleinen Webserver, der ein Java-Applet bereitstellt, so dass ein Zugriff auch ohne installierte Clientsoftware über jeden Java-fähigen Browser möglich wird. Mit VNC ist es beispielsweise möglich, dass der Administrator eines Netzwerkes die Kontrolle über den Computer eines Mitarbeiters übernimmt, um Software zu installieren oder Fehler zu beheben. VNC ist plattformunabhängig nutzbar, für fast alle gängigen Betriebssysteme gibt es mehrere Implementierungen.
Da die Original-Version unter einer Open-Source-Lizenz vertrieben wurde, entwickelten sich verschiedene Forks, welche verschiedene Verbesserungen und Zusatzfunktionen enthalten, die aber alle weitgehend kompatibel zur Originalversion sind. Das verwendete Remote Framebuffer Protocol wird in Version 3.3 von allen VNC-Versionen verstanden und dient heute als „kleinster gemeinsamer Nenner“ bei Verwendung verschiedener VNC-Programme.
Bekannte Implementierungen

Die bekanntesten VNC-Programme, die sowohl über Client als auch Server verfügen, sind:
- RealVNC (http://www.realvnc.com/) ist die „offizielle“ Weiterentwicklung des AT&T-VNC und steht unter der GNU General Public License. Allerdings ist nur die sehr beschnittene „Free Edition“ kostenlos.
- TightVNC (http://www.tightvnc.com/): Ein VNC-Server und -Client unter der GPL-Lizenz, verfügbar für Windows, zahlreiche Unix-Derivate wie Linux; außerdem existiert eine plattformunabhängige Implentierung in Java (nur Client), die nicht installiert werden muss. TightVNC ist eine umfangreiche Weiterentwicklung des VNC-Programmes, besonders hervorzuheben sind die Kompressionsmöglichkeiten, um VNC auch bei schmalbandigen Verbindungen problemlos möglich zu machen („Tight“-Encoding). Leider kann das Programm nur Passwörter verschlüsselt übertragen, die Datenübertragung an sich erfolgt unverschlüsselt. Das Programm eignet sich deshalb nur bedingt für die Nutzung über das Internet. Die Programmierer haben angekündigt, die Datenverschlüsselung in einer zukünftigen Version zu implementieren. Als schnelle Lösung dieses Mankos kann man TightVNC aber auch über SSH tunneln.
- UltraVNC (http://ultravnc.sourceforge.net/): Ein VNC-Server und -Client für Windows unter der GPL. Er bietet Zusatzfunktionen wie Dateitransfer, Chat und Mirror Video Driver für sehr kurze Übertragungsintervalle für Breitbandverbindungen (wie DSL oder lokales Netzwerk), außerdem das „Tight“-Encoding von TightVNC.
- x11vnc (http://www.karlrunge.com/x11vnc/) – a VNC server for real X displays – existierende X-Window real displays (physischer Bildschirm, Tastatur und Maus) an beliebigen VNC-Client weiterleiten. Mit eingebauter SSL-Verschlüsselung und -Authentifizierung, UNIX-Benutzer- und -Passwort-Unterstützung sowie Dateitransfer mit TightVNC und UltraVNC. Außerdem erweitert für Webcam und TV-Tuner Geräte und eingebettete Linux-Systeme. Zusätzlicher Enhanced TightVNC Viewer für Unix und Windows. GPL-Lizenz.
- Contiki VNC-Server als CTK-Thema (Contiki Toolkit)
- Krdc und Krfb – Client und Server für KDE.
- Vino – Client und Server für GNOME.
- Cspace 1.26 – Fernsteuerung für Windowsrechner per VNC, -Remote Desktop per Instant Messenger –, kostenlos, Open Source, die Kommunikation erfolgt verschlüsselt, es werden bei der Installation RSA-Schlüsselpaare erzeugt und der öffentliche Schlüssel auf einem zentralen Server abgelegt. Download unter: http://www.cspace.in (nachzulesen in der c't 5/2007 S.70)
- DirectVNC ist ein VNC-Client für Framebuffer-Ausgaben. Er verwendet DirectFB und benötigt daher keinen X-Server. Damit eignet er sich für sehr leistungsarme Unix-Systeme.
VNC als Mehrschirmbetrieb
Seit 2006 gibt es zwei Anwendungen die das VNC Protokoll dazu benutzen um einen Mehrschirmbetrieb herzustellen.
- ScreenRecycler – Multimonitorsoftware benutzt VNC läuft unter Mac (Shareware)
- ZoneScreen – Multimonitorsoftware benutzt VNC läuft unter Windows (GPL)
Weitere VNC-Programme
- VNC Manager Software
- VNC Admin Console
- Weiterführender Artikel im LinuxWiki
- Chicken Of The VNC VNC-Client für Mac OS X (GPL)
- OSXvnc – ein VNC Server für Mac OS X (GPL)
- PalmVNC
- PalmVNC2 Nachfolger von PalmVNC, für hochauflösende Bildschirme optimiert (kostenlos, GPL)
- PocketPC VNCViewer Client
Weblinks
- http://www.adam-lilienthal.de/directvnc/ – DirectFB VNC-Client
- http://www.rpg-domain.de/VNC/ – HowTo zum Nutzen von VNC über einen SSH-Tunnel mit Windows
- http://www.butschek.de/vnc4server/ – HowTo zum Nutzen von VNC als X-Server unter Linux