Windows-Nutzer können ihren Desktop mit Hilfe der Funktion “Remote-Desktop” für den Zugriff über das Netzwerk freigeben, Linux-Anwender nutzen analog die Desktopfreigabe von KDE. Mit NoMachine steht eine leistungsfähige Alternative bereit, die einfach zu handhaben ist.
Zwei oder mehr PCs in der eigenen Wohnung sind heute keine Seltenheit. Sogar der eigene Home-Server hält in vielen Privathaushalten oder WGs Einzug und ermöglicht etwa das Bereitstellen von Laufwerkfreigaben. Die Fileserver-Funktion ist zwar bei Home-Servern schon wieder auf dem Rückzug, weil heute jeder Router und jedes Home-NAS entsprechende Funktionen bieten, aber als Streaming-Server für Fotos oder Multimediainhalte verrichten viele Linux-Server in Kellern und Home-Offices ihren Dienst. Hierbei handelt es sich zwar hinsichtlich der Hardware und des verwendeten Betriebssystems – wir unterstellen ein Linux mit KDE-Desktop – nicht wirklich um Server, aber wann immer Sie im eigenen Heimnetzwerk auf den Desktop eines anderen Linux-PCs zugreifen möchten, geht das problemlos mit Tools wie VNC, krfb oder dem hier vorgestellten NoMachine für Linux.
Einsatzzwecke gibt es viele: Neben dem erwähnten Fernsteuern des grafischen Desktops eines Linux-PCs im Keller oder Nebenzimmer kann die Funktion auch nützlich sein, einem anderen Nutzer oder Familienmitglied grafische Hilfestellung zu geben.
Was bedeutet Remote-Unterstützung?
Windows unterscheidet sogar in der Systemsteuerung Systemsteuerung\System und Sicherheit\System bei Erweiterte Systemeigenschaften im Reiter Remote explizit zwischen “Remoteunterstützung” und “Remote-Desktop”. Erstere sieht vor, eine anderen Nutzer zur Verwendung des eigenen freigegebenen Desktops einzuladen (oder umgekehrt). Die Funktion kann zum Beispiel verwendet werden, um einen anderen Nutzer bei einem Problem zu helfen. Wir befassen uns im Beitrag dagegen vor allem mit der Funktion “Remote Desktop”, um den eigenen Rechner fernsteuern zu können.
Bei Windows kommt für beide Funktionen das proprietäre Remote-Desktop-Protokoll (RDP) zum Einsatz. Das ist im Gegensatz zum offenen Open-Source-Standard VNC einigermaßen performant und sicher, da es anders als VNC von Haus aus eine Authentifizierung verlangt. Auch die KDE-Desktopfreigabe mit krfb basiert auf VNC. Performance und Sicherheit sind zwar im eigenen lokalen Netz zweitrangig, trotzdem ist eine Remote-Desktop-Verbindung via krfb/VNC heute nicht mehr zeitgemäß. Das gilt besonders dann, wenn Sie Ihre Remote-Desktop-Verbindung ab und an auch über das Internet nutzen möchten.
Das NX-Protokoll
Als leistungsfähige und einfach zu handhabende Alternative bietet sich die Terminalserver-Software NX des Herstellers NoMachine an, die auf dem gleichnamigen, ebenfalls von NoMachine entwickelten NX-Protokoll basiert. NX-Verbindungen erzeugen vergleichsweise wenig Netzwerkverkehr und sind damit auch für langsamere Internetzugänge geeignet, weil NX den kompletten Datenverkehr komprimiert, für bereits übertragende Daten einen Cache verwendet und die so genannte Round Trip Time zwischen Client und Server verringert. Damit ist sogar ein flüssiges Arbeiten mit ISDN- oder Modemverbindungen mit 40 kBit/s oder weniger möglich.
Verschiedene NX-Versionen
Bis einschließlich Version 3 waren Teile von NX Open-Source-Software. Das galt z. B. für das Protokoll und den Cient. Teile des Servers waren und sind nach wie vor proprietär. NoMachine bot aber eine kostenlose, auf drei Anwender bzw. Sessions reduzierte Version der Server-Software an. Die zumindest zeitweise frei verfügbaren Protokollspezifikationen ermöglichten bis 2013 die Entwicklung einer Reihe von freien NX-Klonen, z. B. in Form der Projekte FreeNX [1] mit seinem KDE-NX-Client kNX oder OpenNX [2]. FreeNX wird seit 2009 nicht mehr weiter entwickelt, OpenNX seit Ende 2012.
So standen Nutzern bis 2013 einschließlich der originalen Client- und Server-Software von NoMachine drei Alternativen zum Aufbau einer Terminalserver-Umgebung auf NX-Basis zur Verfügung. Das machte die Situation neben der uneinheitlichen Lizenzen für Einsteiger nicht gerade übersichtlich. Zudem war NX 3 mit seiner Client-/Server-Architektur wegen der zahlreichen enthaltenen Features und der komplexen Konfiguration nicht sehr einsteigertauglich.
Von NX 3.4 zu NX 4.x
Der Server unterstützte z. B. Server- und Benutzerprofile, frei definierbare Richtlinien für Protokolle, Dienste, Bandbreite und Routing und mehrere Authentifizierungsarten. Wahlweise bot der NX-Server eine eigene datenbankbasierte Benutzerverwaltung an, so dass die Inbetriebnahme der Software eine komplexe Angelegenheit war und das Bearbeiten von Konfigurationsdateien oder das Austauschen von Schlüsseln erforderte.
Da die kommerzielle Version des “alten” NX-Servers noch bei vielen Anwendern im Einsatz ist, kursieren im Netz auch noch Versionen des “alten” NX-Clients. Die einzige heute noch frei verfügbare Implementation des “alten” Clients ist die NX-Unterstützung des freien Remote-Desktop-Clients Remmina (remmina-plugin-nx). Diese ist allerdings, genau wie kNX, inkompatibel zur im Folgenden vorgestellten 4er-Version von NoMachine für Linux – Sie müssen sich mit der 3er-Version nicht mehr auseinandersetzen. Der Hinweis auf die alte Version ist aber notwendig, weil z. B. das NX-Protokoll in der Version 3.5 noch immer in den Paketquellen von Kubuntu zu finden ist; OpenSuse bringt auch den freien NX-CLient mit. Achten Sie darauf, keine NX-Komponenten aus den Paketquellen Ihrer Distribution zu installieren.
NX 4 ist proprietär
Ende 2013 vollzog der Hersteller NoMachine [3] einen Paradigmenwechsel, der sich schon länger abgezeichnet hatte. Seitdem bietet NoMachine seine Client-/Server-basierte Terminalserver-Lösung unter der Bezeichnung NoMachine for Enterprise [4] nur noch als kommerzielle Software an. Der große Erfolg des NX-Protokolls erlaubte NoMachine den Wechsel zu einem Geschäftsmodell, das allein auf dem Verkauf der Software basiert. Für ehemalige Nutzer und Kenner der Software gibt es aber eine Alternative, die zudem einsteigerfreundlicher als die alte Variante ist.
NoMachine for Linux
Seit 2013 steht auf der Download-Seite [5] von NoMachine unter der Bezeichnung NoMachine for Linux ein kostenloser Nachfolger der Software zum Herunterladen zur Verfügung, der auf der Weiterentwicklung des NX-Protokolls basiert. Für andere Betriebssysteme gibt es ähnlich benannte Varianten (etwa: NoMachine for Windows), und die Oberfläche sieht auf allen Betriebssystem (ähnlich wie bei Teamviewer) nahezu gleich aus.
Diese kostenlose Version unterliegt der proprietären NoMachine Product License. Der Funktionsumfang ist zwar gegenüber der Enterprise-Version in drei Punkten eingeschränkt [6], allerdings in einer Weise, welche die Handhabung gerade für Einsteiger und den skizzierten Einsatzzweck sogar einfacher macht. Das Fehlen des SSH-Supports und der Virtual-Desktop-Funktionalität sowie die Beschränkung auf nur eine gleichzeitige Verbindung gehen zudem nicht zu Lasten der Performance. Außerdem trennt NoMachine für Linux in der aktuellen Version 4.2.27 nicht mehr zwischen Server und Client. Sie müssen das Programm lediglich auf jedem Rechner installieren, auf dem Sie einen Desktop freigeben oder einen via NoMachine freigegebenden Rechner nutzen möchten.
Die Bedieneroberfläche ist auf beiden Seiten identisch, d. h., welcher Rechner Client und wer Server ist, entscheiden Sie im Betrieb. NoMachine unterstützt das Durchreichen von am Client angeschlossenen Geräten wie Festplatten, Soundkarten, Druckern oder USB-Geräten, erstellt Audio- und Videoaufzeichnungen der aktuellen Sitzung und kann die Bildschirmauflösung flexibel anpassen.

Abbildung 1: NoMachine for Linux erlaubt neben dem Zugriff auf am Client angeschlossene Geräte auch Audio-Weiterleitung und Videoaufzeichnungen.
Installation
Das Installieren von NoMachine for Linux ist mit wenigen Handgriffen erledigt, da der Hersteller fertige Binärpakete im deb– (Ubuntu, Debian), RPM- (OpenSuse, Fedora, Red Hat, CentOS) oder tar.gz-Format (andere Distributionen) für 32- und 64 Bit-Architekturen anbietet, die Sie mit dem Paketmanager Ihrer Distribution (Muon Discover unter Kubuntu, YaST oder Apper unter OpenSuse) einspielen.
NoMachine sollte danach im KDE-Menü (KickOff) auftauchen. Bei OpenSuse landet der Eintrag unter Alle Programme / Internet / NoMachine. Bei der tar.gz-Variante genügt es, das heruntergeladene Paket via Kontextmenü im Default-Archiv-Programm der Distribution zu öffnen und dann per Mausklick zu entpacken. Darüber hinaus ist die einfache Installation auch in der umfangreichen Dokumentation beschrieben.
Einrichtung
Installieren und starten Sie NoMachine zuerst auf dem Host-Rechner, dessen Desktop Sie freigeben möchten. Das Programm ist mit einem einfach zu bedienenden Assistenten ausgestattet:
-
Der erste Schritt Welcome to NoMachine illustriert nur einige grundlegende Informationen zur Bedienung und wartet ansonsten auf Ihren Klick auf Continue. Der nächste Dialog Recent connections zeigt die zuletzt verwendeten Verbindungen (Abbildung 2) und bietet vier Schaltflächen New, Edit, Open und Preferences, die selbsterklärend sind. Open dient übrigens zum Laden einer bestehenden Verbindungsdefinition von Festplatte im Format *.nxs. Mit den Schaltflächen links davon können Sie die Darstellungsart ändern (View), bestehende Verbindungsdefinitionen sortieren (Order By) und im Suchfeld (Find) gezielt nach einer Definition suchen.
-
Klicken Sie auf Preferences und dann unmittelbar rechts oben auf Connections. Setzen Sie den Schieberegler bei Connections auf On und klicken Sie dann auf Connection Preferences. Hier müssen Sie im Reiter Services zunächst die beiden Checkboxen Start automatic services at startup und Advertise this computer on the network setzen. Erstere benötigen Sie nur, wenn Sie das Programm häufig nutzen, ansonsten müssten Sie die Software vor der Verbindungsaufnahme durch einen anderen Host jeweils explizit starten. Die zweite Option ist wichtig, damit NoMachine freigegebene Rechner automatisch im lokalen Netz bekannt macht (Abbildung 3).
-
Die übrigen Reiter Security, Devices, Transfers, Performance und Updates sind für den Verbindungsaufbau zunächst nicht wichtig. Sie können sie nach und nach erforschen. Unter Updates können Sie die automatische Suche nach Updates aktivieren. Der Bereich Performance erlaubt das Setzen von Optionen, die die Performance beim Streamen des Desktops bzw. einzelner Applikationen beeinflussen. Hier ist es empfehlenswert, die Standardeinstellungen zunächst nicht zu verändern. Die letzte Option Use acceleration for display processing sollte bei einer zeitgemäßen Grafikkarte aktiviert sein, damit NoMachine die GPU zur OpenGL- (Linux) oder DirectX- (Windows) beschleunigten Darstellung nutzt. Im Abschnitt Transfers können Sie per Checkbox festlegen, ob Client-Nutzer auch Dateien hochladen oder herunterladen können, während Sie auf dem Reiter Devices das Weiterleiten von Geräten einrichten (Abbildung 4). Zur Wahl stehen (jeweils per Checkbox aktivierbar) Festplatten, Drucker, USB-Geräte, Kartenleser und Netzwerkschnittstellen. Außerdem können Sie hier bei Bedarf die Audio-Weiterleitung aktivieren.
- Unter Security können Sie dann eine Reihe von Sicherheitseinstellungen per Checkbox aktivieren, was aber nur relevant ist, wenn Sie in Ihrem Netz mit mehreren Benutzern arbeiten oder über das Internet auf den Rechner zugreifen möchten. Sind Sie der einzige Nutzer und arbeiten nur im lokalen Netz, können Sie alle hier zu findenden Optionen deaktivieren.
Die “Server”-Seite ist damit einsatzbereit.
Verbindungsaufbau
Installieren und starten Sie NoMachine anschließend auf dem Client-PC. Die Installation funktioniert wie auf der Server-Seite. Starten Sie dann das Programm aus dem KickOff-Menü oder per [Alt]+[F2] und Eingabe von NoMachine.
-
Überspringen Sie erneut den Willkommensbildschirm mit Continue. Sie können dann direkt auf eine der gefundenen Verbindungsdefinitionen klicken, sofern Sie auf Server-Seite das Bekanntmachen von Verbindungen zugelassen haben. Um die einzelnen Schritte des Verbindungsaufbaus zu demonstrieren, richten wir im Beispiel trotzdem mit New eine neue Verbindung ein. (Später können Sie eine bereits eingerichtete Verbindung auch direkt über das Kontextmenü des NoMachine-Applets im KDE-Panel öffnen, Abbildung 5.)
- Mit einem Klick auf New können Sie dann eine komplett neue Verbindung definieren und dabei zunächst das Protokoll wählen. Dies ist etwas verwirrend, weil die kostenlose Version ohnehin nur das proprietäre NX-Protokoll unterstützt. Die andere Wahlmöglichkeit SSH bezieht sich darauf, dass Sie die kostenlose Version auch als Client für die kommerzielle Enterprise-Version verwenden können, die unter anderem auch SSH-Tunneling unterstützt. Verschlüsselt ist die Verbindung bei NX übrigens ebenfalls.
-
Mit Continue wechseln Sie zum nächsten Schritt des Assistenten, in dem Sie den Rechnernamen (oder die IP-Adresse) des Ziel-Hosts angeben (Abbildung 6). Verwenden Sie nach Möglichkeit den Rechnernamen, da sich IP-Adressen z. B. bei einer DHCP-Konfiguration auch ändern können. Den Standard-TCP-Port 4000 müssen Sie nur verändern, wenn Sie dies auch auf Server-Seite getan haben, wofür es im Heimnetzwerk keinen Grund gibt.
- Im nächsten Schritt können Sie sich zwischen einer Passwort- oder Schlüssel-/Zertifikat-basierten Authentifizierung entscheiden. Erstere ist die Standardeinstellung und verwendet die Zugangsdaten, die Sie auch fürs normale Einloggen auf dem Zielrechner nutzen. Sie funktioniert daher ohne weitere Konfiguration, ist also für Einsteiger einfacher handhabbar. Die Schlüssel-basierte Authentifizierung erfordert das Erzeugen von Schlüsselpaaren und Zertifikaten sowie den Austausch von öffentlichen Schlüsseln, ist aber sicherer und sollte daher beim Einsatz von NoMachine über das Internet zum Einsatz kommen.
- Im letzten Schritt können Sie einen aussagekräftigen Namen für die Verbindung vergeben und auf Wunsch per Checkbox festlegen, dass NoMachine ein Desktop-Icon für die neue Verbindung anlegt.
- Nach einem Klick auf Done taucht die neue Verbindung in der Liste im Dialog Recent Connections auf, und Sie können den Zugriff mit einem Klick auf Connect starten. Übrigens gibt es auch hier Kontextmenüs, mit deren Hilfe Sie z. B. eine bestehende Verbindungsdefinition nachträglich anpassen können.
Arbeiten mit NoMachine
Beim Aufbau einer Verbindung über den Dialog Recent Connections oder über das Kontextmenü des KDE-Applets startet ein weiterer Assistent, der im ersten Schritt und nur beim erstmaligen Verbindungsaufbau zum Akzeptieren des angezeigten Zertifikats-Fingerprints auffordert.
- Wenn Sie sicher sind, das der angezeigte Fingerabdruck, etwa bei einer Verbindung über das Internet, nicht von einem potenziellen Angreifer gefälscht ist, müssen Sie nur auf Yes klicken und im nächsten Schritt den Benutzernamen und das Passwort Ihres Kontos auf dem entfernten Rechner eingeben.
-
War der Verbindungsaufbau erfolgreich, erscheint zunächst ein weiterer Dialog, der auf die vorhandenen Steuerungsmöglichkeiten von NoMachine hinweist. Bestätigen Sie ihn mit OK. Ferner gibt es ab jetzt in jeder Dialogseite sechs kleine Icons am unteren Dialogrand, mit denen Sie die Details der verwendeten Bildschirmauflösung, wie z. B. den skalierten Modus oder den Fenster-/Vollbildmodus einstellen (Abbildung 7).
- Nach einem weiteren Klick auf OK erklärt der Assistent, welche Bedeutung die einzelnen Symbole im Hauptmenü haben. Auch diese Anzeige akzeptieren Sie mit OK. Hier (und auch im vorherigen Dialog) können Sie per Checkbox dafür sorgen, dass diese Hinweise beim nächsten Verbindungsaufbau unterbleiben.
- Klicken Sie erneut auf OK, fragt der Assistent, ob NoMachine das Hauptmenü-Panel im Vollbildmodus oder als Fenster anzeigen soll. Öffnen können Sie das Menü später, indem Sie mit der Maus in die rechte obere Ecke fahren. Dabei klappt visuell hübsch gemacht eine Art Eselsohr herunter, auf das Sie dann klicken müssen, um das Hauptmenü-Panel aufzurufen.
-
Ein erneuter Klick auf OK führt Sie zum nächsten Schritt des Verbindungsassistenten, der sich dem Thema Audio-Streaming widmet. Setzen Sie das Häkchen vor Mute audio on the server …, damit z. B. der Ton eines MP3-Players nur auf dem Client (und nicht gleichzeitig auf dem Server) zu hören ist (Abbildung 8).
- Im nächsten Schritt erklärt der Assistent die Bedeutung der sechs kleinen Icons am unteren Dialogrand, mit denen Sie die die zu verwendende Bildschirmauflösung einstellen, genauer. Sie können hier außerdem festlegen, dass sich die auf Server-Seite verwendete Auflösung automatisch an den Client anpasst.
-
Nach einem letzten Klick auf OK erscheint der Desktop (hier KDE unter CentOS) des Zielsystems (Server). In Abbildung 9 wird der Fenstermodus verwendet, der zuvor als Standardeinstellung konfiguriert wurde. Sie können aber auch jederzeit zum Vollbildmodus wechseln, indem Sie das NoMachine-Hauptmenü durch einen Klick auf das Eselsohr oben rechts aufrufen. (hge)
Infos
[1] FreeNX: http://sourceforge.net/projects/freenx.berlios/
[2] OpenNX: http://opennx.net/
[3] NoMachine: https://www.nomachine.com/
[4] NoMachine Enterprise: https://www.nomachine.com/download-enterprise
[5] NoMachine-Download: https://www.nomachine.com/download
[6] Feature-Vergleich NoMachine und NoMachine Workstation: https://www.nomachine.com/AR10K00702









