- NX NoMachine
-
NX ist eine Remote-Desktop-Software des italienischen Unternehmens NoMachine, die mit Ausnahme der zentralen Client- und Serverapplikation unter der GNU GPL steht. Mit NX kann man den Bildschirminhalt eines entfernten Computers auf einen lokalen Rechner (auch betriebssystemübergreifend) übertragen und damit arbeiten, als säße man direkt davor (vgl. Thin Client).
Inhaltsverzeichnis
Programm
Die Anwendung verbessert die Geschwindigkeit bei der Übertragung des X-Window-Systems unter Unix und Linux bei der Darstellung von graphischen Anwendungen über Computernetzwerke. Dabei ist es möglich, die Übertragung (durch die Verwendung von SSH) zu verschlüsseln.
Obwohl das X-Window-System in seiner aktuellen Protokollvariante X11 von Haus aus netzwerkfähig ist, ist bei seinem Einsatz über Rechnergrenzen hinweg die oftmals geringe und dem Anwender "zäh" vorkommende Performance bei Verbindungen über schmale Bandbreiten mit hoher Latenzzeit (Modem, ISDN) zu beobachten. Dieses Problem versucht NX als eine Art Aufsatz für X11 zu lösen. NX wird dabei als Proxy-System zwischen die X11-Partner geschaltet (sowohl auf dem Clientrechner als auch auf dem Serverrechner läuft ein X11-Serverprogramm). Des Weiteren ist der NX-Server in der Lage, NX-Sitzungen an VNC-Server oder Windows Terminalserver (per RDP) weiterzuleiten und diese nochmals zu komprimieren. Der NX-Client fragt also bei einem NX-Server an, der dann die Verbindung zu einem weiteren Terminal Server per VNC oder RDP aufbaut. Er wird also zwischengeschaltet [NX-Client → NX-Server → RDP-/VNC-Server], komprimiert den Datenfluss und beschleunigt auf diese Weise die Verbindung erheblich.
Der NX-Client ist auf Linux, Solaris, Windows, Mac OS X, Sharp Zaurus, Sony Playstation 2, und HP/Compaq iPAQ lauffähig.
Technik
NX erreicht eine Steigerung der Effizienz des X11-Protokolls über das Netz vor allem durch drei Methoden:
- Datenkompression des Netzwerkverkehrs
- Anlegen eines Caches für schon übertragene Daten
- Reduzierung der Round Trip Time zwischen X-Client und X-Server
Viele "Roundtrips" sind unnötig und werden teilweise von ineffizienter Programmierung von X11-Applikationsprogrammen verursacht. Ein effizienter Cache erspart die wiederholte Übertragung derselben Datenblöcke (zum Beispiel Icons in Programmmenüleisten). Die starke Kompression reduziert den Datenverkehr weiter.
Zum Übertragen der Daten nutzt NX einen SSH-Tunnel.
Verbreitung und Entwicklung unter Open-Source
Die Basisbibliotheken und alle wichtigen Kernbestandteile von NX wurden von NoMachine unter die freie Lizenz GPL gestellt, sodass sie auch in freie Desktops wie KDE und GNOME integriert werden können. Lediglich die zentrale Client- und die Serverapplikation sind proprietär.
Für KDE existiert bereits eine Clientapplikation namens kNX, welche zusammen mit dem ebenfalls freien NX-Server FreeNX vom Kalyxo-Projekt geschrieben wurde. kNX kann aber auch mit GNOME und anderen Desktops verwendet werden.
Bemerkenswert am FreeNX-Server ist, dass er vollkommen als Bash-Shellskript geschrieben wurde. Weil seine Programmierer beweisen wollten, dass ein auf den GPL-lizenzierten Bestandteilen von NX aufbauender freier NX-Server keine große technische Schwierigkeit darstellt, wurde diese Skriptsprache ausgewählt.
Seit ca. Juli 2009 existiert eine neue, freie Variante des Servers namens 'Neatx', welche aber derzeit (Stand April 2010) noch nicht alle Funktionen des Originals beherrscht.
Anwendung
Mit NX ist es möglich, dass der Administrator eines Netzwerkes die Kontrolle über den Computer eines Mitarbeiters übernimmt, um Software zu installieren oder Fehler zu beheben. Weitere Anwendungsbeispiele sind zum Beispiel Heimarbeitsplätze oder auch die Möglichkeit von älteren Computern, die als Thin Client eingesetzt werden, auf entfernten, leistungsfähigeren Maschinen zu arbeiten.
NX ermöglicht ein schnelles Arbeiten selbst bei einer Modemverbindung mit nur 40 kBit/s Datenübertragungsrate.
Ein weiterer großer Vorteil von NX gegenüber dem X11-Protokoll liegt darin, dass NX sogenannte seamless connections unterstützt. So lässt sich eine bestehende Verbindung zu einem NX-Server trennen und später wieder von einer anderen Workstation aufnehmen. Die gestarteten Programme laufen dabei auf dem Zielsystem ungestört weiter.
Weblinks
Wikimedia Foundation.