claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 08/2005   »   Ausgabe bestellen

Linux- und Windows-Rechner fernsteuern

Desktop-Angeln

von Max Werner


Laufen in Ihrem Heimnetzwerk mehrere Rechner, ist es bequem, sie von einem Computer zentral zu verwalten. Mit VNC und SSH müssen Sie dabei nicht einmal auf die grafische Oberfläche verzichten. Auch die Anzeige Ihrer Windows-Rechner angeln Sie sich so auf den Linux-Desktop.

Bereits wenige Jahre nach der ersten Veröffentlichung von Linux begannen Administratoren, das Betriebssystem vermehrt auf ihren Servern einzusetzen. Denn Linux ist -- wie die meisten anderen Unix-Systeme auch -- bekannt für seine Netzwerkfähigkeiten.

Doch diese sind nicht nur auf Servern sinnvoll, sondern erleichtern auch das Leben der Desktop-Benutzer: Haben Sie sich ein Heimnetzwerk eingerichtet, müssen Sie nicht ständig durch's Haus laufen, um neue Software zu installieren oder Programme auf Ihrem Windows-PC zu starten. Sie erledigen einfach alles von einem einzigen Rechner aus.

Secure Shell

Der schnellste und sicherste Weg, um lediglich ein grafisches Programm von einem Rechner auf den anderen zu befördern, ist SSH [1]. Allerdings sind Sie damit auf Linux beschränkt. Haben Sie auf einem der PCs einen SSH-Server installiert, starten Sie auf dem anderen Computer eine Konsole, indem Sie [Alt-F2] drücken und konsole eingeben. Geben Sie dort folgenden Befehl ein, um sich auf dem anderen Rechner einzuloggen:

ssh -XC Entfernter-Computer

Die Option -X bewirkt, dass SSH das so genannte X-Forwarding einsetzt. SSH leitet dabei alle Grafikaktionen eines Programmes an den X-Server weiter, der auf dem Rechner läuft, von dem aus Sie sich eingeloggt haben. Mit -C komprimiert SSH alle Daten, bevor sie über die Leitung gehen; das spart viel Bandbreite.

Geben Sie zum Test den Befehl xeyes ein, auf Ihrem Display sollten nun zwei Augen erscheinen, die dem Mauszeiger folgen. Gleiches ist natürlich auch mit komplexeren Programmen wie Konqueror oder Yast möglich.

Damit bedienen Sie nicht nur Linux-Rechner in Ihrem eigenen Netzwerk, sondern überall im Internet, sofern Sie Login-Zugriff auf sie haben. Dank SSH ist die Verbindung dabei stets verschlüsselt, und niemand kann Sie ausspionieren.

Das Komplettpaket

Wollen Sie statt eines Programmes Ihren kompletten Desktop aus der Ferne administrieren, müssen Sie Virtual Network Computing (VNC) einsetzen. Sie benötigen dazu einen VNC-Server, der den Desktop im Netzwerk zur Verfügung stellt, sowie einen VNC-Viewer, mit dem Sie die Oberfläche eines entfernten Rechners auf Ihren Schirm holen.

Alle von EasyLinux unterstützten Distributionen bringen sowohl einen Server als auch einen Viewer mit. Unter Suse Linux 9.2 und 9.3 heißen die passenden Pakete tightvnc und xorg-x11-Xvnc, Mandrake-Linux-Nutzer installieren tightvnc sowie tightvnc-server, und wer Fedora Core 3 einsetzt, holt sich vnc und vnc-server auf die Festplatte.

Starten Sie zunächst den VNC-Server auf dem Rechner, dessen Bildschirm Sie exportieren wollen. Da Sie ja vermeiden wollen, hin- und herzulaufen, loggen Sie sich dazu per SSH ein.

  1. Drücken Sie [Alt-F2] und geben Sie konsole ein.
  1. In der Konsole tippen Sie den Befehl ssh Server-Name ein. Server-Name ersetzen Sie dabei durch den Hostnamen oder die IP-Adresse des Servers.
  1. Dann starten Sie den VNC-Server, indem Sie vncserver eingeben. Dieser fragt Sie nach einem Passwort, das jeder Benutzer eingeben muss, wenn er sich per VNC anmelden will. Ihre Eingabe zeigt das Programm sicherheitshalber nicht an. Sie müssen das Passwort außerdem zweimal eingeben, um Vertipper aufzudecken.
  1. Haben Sie ein Passwort festgelegt, startet der VNC-Server. Er gibt unter anderem eine Zeile wie die folgende aus:
    <I>New 'X' desktop is \
    merlin:1<I>.

Hier ist merlin der Rechnername, unter dem Sie mit dem Viewer diesen Desktop ansteuern. Die 1 steht für das zweite Display (Die Zählung beginnt bei 0).

5. Loggen Sie sich wieder aus, indem Sie exit eingeben.

Der VNC-Server läuft jetzt, und Sie können sich die grafische Oberfläche des Rechners bequem von Ihrem Arbeitsplatz aus ansehen. Da meistens ein Menüeintrag für den Viewer fehlt, starten Sie ihn über den Schnellstarter. Drücken Sie [Alt-F2] und geben Sie vncviewer Rechnername:Display ein. Ersetzen Sie Rechnername:Display durch die Werte, die der VNC-Server Ihnen beim Start angezeigt hat.

Abb. 1: Mit VNC ist es ohne Probleme möglich, sämtliche Computer in einem Netzwerk zu administrieren. Einen passenden Server vorausgesetzt, holen Sie sich sogar Windows-Sessions auf Ihren Desktop.

Schönheit geht vor

Bei Suse Linux 9.2/9.3, Fedora Core 3 und Mandrake Linux 10.2 zeigt das VNC-Viewer-Fenster aber nicht den gewohnten KDE-Desktop an, sondern nur einen abgespeckten Window Manager mit dem grauen X-Hintergrund. Dieser Missstand ist jedoch schnell ausgeräumt: Der Server startet einfach das Programm, das in der Datei .vnc/xstartup in Ihrem Home-Verzeichnis genannt ist.

Öffnen Sie die Datei mit einem Text-Editor und werfen Sie unter Suse Linux alle Zeilen unterhalb von xrdb $HOME/.Xresources raus. An deren Stelle schreiben Sie startkde &. Benutzen Sie Mandrake Linux, ersetzen Sie die letzte Zeile in der Datei durch den Aufruf startkde &. Bei Fedora Core 3 entfernen Sie aus den Zeilen 4 und 5 die beiden #-Zeichen.

Sie müssen den VNC-Server neu starten, damit er Ihre Änderungen übernimmt. Dazu geben Sie in der Konsole ([Alt-F2 und konsole eingeben) das Kommando vncserver -kill :1 ein. Statt 1 setzen Sie die vom VNC-Server genannte Display-Nummer ein. Dann starten Sie ihn wieder mit vncserver.

Fensterln

Wie eingangs erwähnt, ist VNC nicht auf Linux beschränkt. Es gibt eine ganze Menge an Servern für Windows-Computer. Einer davon ist Tight VNC [2], der auch mit den meisten Linux-Distributionen kommt. Laden Sie sich unter Download auf der Tight-VNC-Homepage die Datei tightvnc-1.2.9-setup.exe herunter und starten Sie die Installation, indem Sie auf das Icon doppelt klicken.

Ist die Software auf Ihrem Windows-PC installiert, starten Sie den Server über den Punkt Programme / TightVNC / Launch TightVNC Server aus dem Startmenü; in der Taskleiste erscheint dann ein passendes Symbol. Mit einem Doppelklick öffnen Sie das Konfigurationsfenster.

Abb. 2: Mit Tight VNC administrieren Sie auch Ihre Windows-Rechner im Netzwerk bequem vom Linux-Computer aus. Die Windows-Version von Tight VNC lässt sich sehr detailliert konfigurieren.

Der Server lässt sich sehr genau an Ihre Bedürfnisse anpassen. Die meisten Optionen können Sie aber getrost auf ihrer Voreinstellung belassen. Vergessen Sie jedoch nicht, ein Passwort für die Authentifizierung zu vergeben. Falls Sie eine Firewall installiert haben, die bestimmte Ports nicht geöffnet hat, können Sie sogar den VNC-Server anweisen, andere Ports zu benutzen.

Neben dem Server hat das Paket außerdem einen VNC-Client auf Ihrem Rechner installiert. Mit ihm beherrschen Sie einen Linux-Rechner von Windows aus.

KDE macht's komfortabel

Alle vier Distributionen, die EasyLinux unterstützt, liefern neben den üblichen VNC-Servern auch eine KDE-eigene Implementation mit. Sie nennt sich KDE Desktop Sharing und besteht aus zwei Programmen. Das Programm KRFB gibt den gerade laufenden KDE-Desktop frei, KRDC ist das Pendant zum VNC-Viewer.

Der Vorteil an dieser Lösung ist, dass Sie nicht eine neue KDE-Sitzung starten, sondern die vorhandene exportieren. So können sich zum Beispiel Anwender gegenseitig bei Problemen helfen. Das KDE Desktop Sharing funktioniert auch über das Internet.

  1. Um KRFB zu starten, drücken Sie [Alt-F2] und geben krfb ein.
  1. Sie haben die Möglichkeit, Benutzer persönlich (etwa per Telefon) oder per E-Mail einzuladen. Für eine persönliche Einladung klicken Sie auf Persönlich einladen.
  1. Es öffnet sich ein Fenster, das dem in Abbildung 3 gezeigten ähnelt. Die dort beschriebenen Daten geben Sie in KRDC ein.
  1. Starten Sie auf dem entfernten Rechner KRDC mit [Alt-F2] und Eingabe von krdc.
  1. Geben Sie im Feld Entfernte Arbeitsfläche die in KRFB unter Rechner angezeigte IP-Adresse inklusive Display-Nummer ein und drücken Sie [Eingabe].
  1. Auf dem anderen Computer öffnet sich ein Fenster, in dem KRFB um Bestätigung bittet, dass sich nun ein Benutzer auf dem Bildschirm einloggt. Quittieren Sie den Dialog mit Verbindung akzeptieren.
  1. Wieder auf dem Client-Rechner geben Sie jetzt das Passwort ein, das KRFB in der persönlichen Einladung erstellt hat.

Abb. 3: Unter KDE ist es sehr leicht, einen Desktop freizugeben. Das eignet sich besonders dafür, einem Benutzer bei Problemen unter die Arme zu greifen.

Nach einem Klick auf OK öffnet sich ein Fenster, das den Bildschirminhalt des Server-Rechners anzeigt. Bewegen Sie die Maus, wandert der Mauszeiger stets auf beiden Rechnern über den Bildschirm.

Ausreißer Mandrake

Benutzen Sie Mandrake Linux 10.2, haben Sie ein eigenes Werkzeug, mit dem Sie sowohl VNC-Server als auch -Client verwalten. Wählen Sie im KDE-Menü unter Internet / Entfernter Zugriff das Programm Virtuelle Netzwerkverbindung aus. Das RfbDrake genannte Tool macht es Ihnen besonders leicht, Ihre Sitzungen einzurichten.

Wählen Sie einfach zwischen Sitzung anfordern, was dem VNC-Viewer oder dem KRDC entspricht, und Sitzung anbieten (entspricht dem VNC-Server oder KRFB). Allerdings haben Sie hier nicht den Komfort, Benutzer persönlich oder per E-Mail einzuladen. Wollen Sie eine Sitzung anbieten, legen Sie einfach ein Passwort fest, das Sie dem Anwender mitteilen, der sich an der Sitzung anmeldet.

Abb. 4: Mandrake Linux enthält ein Werkzeug, das sich um die Server- und die Client-Seite gleichzeitig kümmert. Ein Umweg über die KDE-eigenen Tools ist nicht nötig.

Einen entscheidenden Nachteil hat die Nutzung von KRFB oder des Mandrake-eigenen Tools jedoch: Auf beiden Rechnern muss ein Benutzer eingeloggt sein. Außerdem müssen Sie bei KRFB stets den Bestätigungsdialog quittieren, der beim Verbindungsaufbau erscheint. Das ist für ein Netz, in dem Sie alle Computer selber administrieren wollen, lästig, denn Sie müssen trotzdem von einem Rechner zum nächsten laufen.

Daher bietet sich die Verwendung des klassischen VNC-Servers, der bei fast jeder Distribution dabei ist, eher an. Außerdem können Sie diesen nicht nur mit KDE sondern auch Gnome, IceWM oder jedem anderen Window Manager einsetzen.

Spezialfall Suse Linux

Dem Einsatz des KDE-eigenen VNC steht unter Suse Linux 9.2 und 9.3 die Firewall im Weg. Wollen Sie Ihren KDE-Desktop fernsteuern, müssen Sie die Firewall abschalten, weil sonst keine Verbindung zum Server zustande kommt. Gehen Sie für Suse Linux 9.2 wie folgt vor:

  1. Öffnen Sie in Yast unter Sicherheit und Benutzer das Firewall-Modul, wählen Sie Firewall-Einstellungen neu konfigurieren und klicken Sie auf die nächsten beiden Weiter-Knöpfe.
  1. Wählen Sie die Schaltfläche Firewall anhalten und aus Bootprozess entfernen aus und klicken Sie auf Weiter.
  1. Weitere Klicks auf Weiter und OK beenden die Konfiguration.

Mit Version 9.3 hat sich die Konfiguration der Firewall etwas geändert:

  1. Starten Sie wie oben beschrieben das Firewall-Modul in Yast.
  1. Klicken Sie auf Firewall manuell starten und dann auf den Knopf Firewall nun stoppen.
  1. Mit Klicks auf Weiter und Übernehmen schließen Sie das Fenster.

Die Firewall ist nun abgeschaltet. Sie sollten sich jedoch gewiss sein, dass die Firewall durchaus Sinn hat, vor allem dann, wenn Ihr Rechner direkt mit dem Internet verbunden ist. Eventuell beenden Sie die Firewall dann nur temporär und aktivieren sie später wieder.

Wenn nichts hilft, hilft Java

Die von EasyLinux unterstützten Distributionen liefern neben dem eigentlichen VNC-Server auch noch eine Java-Umgebung, die es ermöglicht, per Web-Browser auf den Desktop zuzugreifen. Stoßen Sie wie oben beschrieben den VNC-Server an, die Java-Komponenten sind automatisch eingerichtet.

Starten Sie auf einem anderen Rechner Ihren Web-Browser, etwa Konqueror oder Firefox. In der Adresszeile geben Sie folgende URL ein: http://Rechnername:5801. Statt Rechnername geben Sie den Namen oder die IP-Adresse des Server-Rechners ein.

Haben Sie für Ihren Browser ein Java-Plug-In installiert, erscheint jetzt ein Fenster, in dem Sie das Passwort für den VNC-Server eingeben müssen. Nach Eingabe des Passworts und Klick auf OK begrüßt Sie Ihr bekannter KDE-Desktop im Browser. Sie benutzen ihn genau so, als würden Sie den VNC-Viewer einsetzen.

Abb. 5: Falls Sie mal keinen VNC-Viewer zur Hand haben, starten Sie einfach Ihren Web-Browser. Ist er mit einem Java-Plug-In ausgestattet, benutzen Sie Ihren Desktop ohne zusätzliche Werkzeuge.

Performance

In einem lokalen Netzwerk ist die Geschwindigkeit von VNC erträglich, und es lässt sich sehr angenehm damit arbeiten. Sobald Sie aber einen Rechner über's Internet ansprechen, verringert sich die Geschwindigkeit enorm. Selbst mit einem schnellen DSL-Anschluss müssen Sie unter Umständen Wartezeiten einkalkulieren, bis sich neue Fenster geöffnet haben.

Einige Implementationen von VNC-Servern und -Clients haben daher eingebaute Komprimierungsfunktionen, die die Bandbreite des Anschlusses schonen sollen. Eine Weiterentwicklung dieser Technologien ist NX [3]. Dabei läuft auf jedem der beiden beteiligten Rechner eine NX-Instanz (der Proxy), die Anfragen an den jeweils entfernten Computer zwischenspeichert.

Der Proxy filtert irrelevante Informationen aus den Anfragen heraus und überträgt sie erst danach an den anderen Rechner. Das schont die Bandbreite, und selbst über Modemverbindungen soll auf diese Weise noch angenehmes Arbeiten möglich sein. (mwe)

Infos
[1] SSH-Artikel: Elisabeth Bauer, "Fernbedienung", EasyLinux 11/2003, S. 72 ff., http://www.easylinux.de/2003/11/072-guru-ssh/
[2] Tight VNC: http://www.tightvnc.com
[3] NX: http://www.nomachine.com

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2017 COMPUTEC MEDIA GmbH | Last modified: 2007-04-05 11:10

Nutzungsbasierte Onlinewerbung

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]