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 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 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: 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 Implementierung 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: 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. Auch bei UltraVNC ist nur Passwort-Verschlüsselung verfügbar, für komplette Datenverschlüsselung werden externe Plugin-Module benötigt.
- 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 – 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. (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.
- Chicken of The VNC: VNC-Client für Mac OS X (GPL)
- OSXvnc: VNC-Server für Mac OS X (GPL)
- PalmVNC: VNC-Client für Palm-Geräte
VNC als Mehrschirmbetrieb
Dank seiner enormen Popularität wird das VNC-Protokoll vermehrt dazu genutzt, Multi-Head-fähige Grafikkarten zu simulieren. Dazu läuft ein Computer mit einer speziellen "Multimonitorsoftware", die üblicherweise einen virtuellen VNC-Server zur Verfügung stellt. Von dem zweiten Rechner, dessen Monitor man als Erweiterung zum Ersten benutzen möchte, reicht dann ein gewöhnlicher VNC-Client, um sich mit dem virtuellen VNC-Server zu verbinden. Dargestellt wird dann nicht der Monitorinhalt des anderen, sondern der entsprechend simulierte virtuelle Erweiterungsteil.
Bekannte "Multimonitor"-Anwendungen sind
- ScreenRecycler – für Apple Macintosh (Shareware)
- ZoneScreen - für Microsoft Windows (GPL)
Weblinks
- Weiterführender Artikel im LinuxWiki
- 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
- http://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software Vergleich von Remote Lösungen und mehreren VNC Varianten
- http://www.testticker.de/files/2007/etc/VNC-Tools_Ausstattungstabelle.htm Vergleich von mehreren VNC Varianten
- http://www.testticker.de/tests/netzwerke/article20070731012.aspx Test der Verschiedenen VNC Versionen sowie Installations Infos