claim.gif
Linux Magazin Linux User Easy Linux International Linux Community
Erschienen in EasyLinux 02/2006

Entfernte Computer steuern

So fern und doch so nah

von Kristian Kißling


Bewegt sich die Maus von Geisterhand und öffnen sich Fenster ohne Ihr Zutun, plagt Ihren Rechner nicht unbedingt ein trojanisches Pferd: Krfb erlaubt entfernten Rechnern Zugriff auf den Desktop.

Manchmal ist schon der Weg die Treppe hinunter ein Weg zu viel: Warum auch wegen eines kleinen Computerproblemchens gleich vom Sitz aufspringen, kann man doch den anderen Rechner bequem fernsteuern. KDE bringt Programme mit, die es Nutzern erlauben, den eigenen Desktop freizugeben oder auf die Desktops anderer Rechner zuzugreifen.

Hinter den Kulissen

Die Bedienung der "Fernsteuerung" ist recht einfach: Der entfernte Rechner, startet den Server Krfb, Ihr Rechner den Client Krdc. Letzterer braucht deutlich weniger Ressourcen als der Server, weil Krfb die aufwendigen Grafikberechnungen ausführt. Er nimmt laufend Schnappschüsse vom Desktop auf und komprimiert die Daten, indem er sie in ein anderes Datenformat umwandelt. Wie stark er sie komprimiert, bestimmt der Client. Fordert er beim Server nur acht Farben und einen schwarzen Hintergrund an, reduziert der Server die Datenmenge entsprechend. Beansprucht der Client hingegen ausgefallene grafische Spielereien und eine Farbtiefe von 24 Bit, schickt der Server die entsprechend größere Datenmenge, wodurch der Datendurchsatz natürlich steigt. Vor der Kontaktaufnahme generiert Krfb ein Passwort, mit dem sich der Client Krdc später beim Server authentifiziert. Zwar ist die Übertragung des Passworts vergleichsweise sicher, der anschließende Datenverkehr erfolgt hingegen gänzlich unverschlüsselt.


Krfb: steht für "KDE remote frame buffer", der Server firmiert aber auch unter dem sperrigen Namen Arbeitsfläche freigeben.
Krdc: bedeutet "KDE remote desktop conection" und bezeichnet den Client, der manchmal auch als Verbindung zu Fremdrechner heißt.

Der Client fordert vom Server permanent Bilder vom aktuellen Desktop an (FramebufferUpdateRequests), die der Server aus dem Framebuffer holt, komprimiert und sendet. Bei der Datenübertragung kommt das Remote Framebuffer Protocol zum Einsatz. Der Server überträgt aber meist nur Teile des Bildes: Bewegt sich nur der Mauszeiger, verändert sich ja nicht viel auf dem Bildschirm. Es genügt also, nur die veränderten Informationen zu übertragen.


Framebuffer: ist ein Speicherbereich für Bildschirmdaten im Video-RAM eines Rechners.
Remote Framebuffer Protocol: Protokoll für den Zugriff auf entfernte grafische Benutzeroberflächen auf der Framebuffer-Ebene.

Die anfallende Datenmenge lastet das Netzwerk ziemlich aus, die Technologie eignet sich eher für den Einsatz in internen Netzwerken. Beim Zugriff über das Internet nimmt die Performance deutlich ab, diese Form der Nutzung empfiehlt sich auch aus anderen Gründen nicht (siehe Kasten Zugriff aus dem WWW).

Zugriff aus dem WWW

Der Zugriff auf einen entfernten Desktop über das Internet ist möglich, aber nicht empfehlenswert. Viele Nutzer, die sich in einem kleinen internen Netzwerk befinden und einen Router nutzen, verwenden NAT (Network Adress Translation). Das heißt, nur der Router verfügt über eine im Internet gültige IP-Adresse, wie z.B. 62.245.110.100. Er empfängt mit dieser Adresse sämtliche Daten aus dem Internet und leitet sie an die Rechner im internen Netzwerk weiter, die Daten angefordert haben. Die IP-Adressen dieser Rechner gelten hingegen nicht im Internet sondern nur im lokalen Netzwerk. Erst das so genannte Port Forwarding ermöglicht den Zugriff von Außen auf das interne Netzwerk. Über eine SSH-Verbindung wird dabei der Port 5900, über den Krfb und Krdc Daten austauschen, an die IP-Adresse des Rechners im Internet weitergeleitet. Nicht nur ist dieses Vorgehen recht aufwändig, aufgrund der Datenmenge ruckelt das Bild mitunter auch so stark, dass selbst DSL-Nutzer entnervt aufgeben. Zusätzlich müssen Sie dafür Sorge tragen, dass die Firewall den benötigten Port nicht blockiert. Zudem läuft die Kommunikation unverschlüsselt ab, was im Internet selten eine gute Idee ist.

Den Desktop freigeben

Wie aber sieht so eine Freigabe in der Praxis aus? Bevor es losgeht, müssen die Nutzer von Mandriva Linux 2006 zunächst über den Paket-Manager ein wenig Software nachinstallieren, nämlich das Paket kdenetwork-krfb-3.4.2-16mdk.

  1. Gehen Sie dazu im K-Menü auf System und wählen Sie den Eintrag Einstellungen.
  1. Rufen Sie innerhalb der Paketverwaltung den Punkt Software installieren auf.
  1. Um das oben erwähnte Paket zu finden, geben Sie als Suchbegriff einfach krfb ein.
  1. Nun setzen Sie ein Kreuzchen neben dem Paket und klicken links unten auf den Knopf Installieren. Zusätzlich benötige Pakete spielt der Paket-Manager auch gleich mit auf den Computer.

Nun brauchen Sie zwei Linux-Rechner. Um einen Desktop freizugeben, starten Sie auf einem Rechner den Server Krfb. Drücken Sie [Alt-F2], geben Sie krfb ein und bestätigen Sie mit [Eingabe]. Das grafische Hauptmenü (Abbildung1) bietet Ihnen mehrere Wege an, um in Kontakt mit dem Gegenüber zu treten. Entweder Sie laden den Gast persönlich ein, schreiben ihm eine E-Mail oder erneuern eine alte Einladung. Sie sollten ihn nach Möglichkeit persönlich einladen, denn verschicken Sie die Zugangsdaten per E-Mail, kann damit jeder in der folgenden Stunde auf Ihren Rechner zugreifen -- und das bedeutet wirklich jeder. Schrecken Sie diese Bedenken nicht ab, öffnet Krfb automatisch ein Standard-E-Mail-Programm und trägt die nötigen Informationen gleich in eine neue E-Mail ein. Sie ergänzen dann nur noch die E-Mail-Adresse des Gasts und schicken die Einladung ab. Es gibt nur einen Haken: Das Standard-E-Mail-Programm muss nicht unbedingt der von Ihnen gewöhnlich genutzte E-Mail-Client sein. In diesem Fall rufen Sie Ihren tatsächlichen E-Mail-Client auf, kopieren den Inhalt in eine neue Nachricht und schicken diese ab. Der Gast empfängt die E-Mail, klickt auf den darin enthaltenen Link, über den sich der Client beim Server anmeldet. Der Link sieht in etwa so aus:

vnc://yRRS-4Ts@192.168.1.80:0

Dabei steht vor dem @ das Passwort, gefolgt von der IP-Adresse, die nach dem Doppelpunkt mit der Nummer des geöffneten Displays abschließt.

Abb. 1: Es gibt mehrere Wege, um mit Krfb Clients auf den Desktop einzuladen: Sie verschicken eine E-Mail oder rufen die Benutzer am anderen Rechner an.

Abb. 2: Die persönliche Einladung ist ein Dialogfeld mit Informationen zum Status des Servers. Die Informationen geben Sie direkt oder telefonisch an den entfernten Benutzer weiter, der sich einloggen will.

Klicken Sie im Hauptmenü hingegen auf Persönlich einladen, öffnet sich ein kleines Fenster mit verschiedenen Informationen, die der Client benötigt, um sich beim Server anzumelden (Abbildung 2).

Am sichersten ist, die Daten telefonisch oder direkt zu übermitteln. Zu den notwendigen Informationen gehört die IP-Adresse des Servers, die im obigen Beispiel 192.168.1.80 lautet. Hinter dem Doppelpunkt folgt das Display, das der Server dem Client zur Verfügung stellt. Theoretisch ist der Server in der Lage, verschiedene Displays anzubieten, damit mehrere Clients parallel auf den Rechner zugreifen. Im Test funktionierte dieses Feature nicht: Zusätzliche Verbindungen quittierte der Server mit dem Hinweis, er könne keine weiteren Verbindungen annehmen. Der Server lässt eine Anmeldung nicht ohne weiteres zu: Erfolgt ein Zugriff, informiert er den Benutzer, dass jemand auf den Desktop zugreifen will. Erst nach einer manuellen Bestätigung dieses Zugriffs, darf sich der Client beim Server anmelden. An diesem Punkt entscheidet der Benutzer der am Rechner mit dem Server sitzt durch das Setzen eines Häkchens, ob er dem Client auch die Kontrolle über Maus und Tastatur gewährt. Das muss nicht sein, will man Zuschauern lediglich einige Features vorführen.

Es gibt noch zwei weitere Schaltflächen im Hauptmenü: Über den Punkt Einladungen bearbeiten verlängern oder löschen Sie früher hergestellte Verbindungen, zusätzlich finden Sie im unteren Bereich die Schaltfläche Einrichten, über die Sie den Server konfigurieren.

Perfekter Diener

Die Schaltfläche Einrichten offenbart ein Fenster mit drei Reitern. Unter dem Reiter Zugriff stellen Sie ein, wie der Server mit den Clients umgeht. Vielleicht wollen Sie den Desktop im gesamten Netzwerk freigeben und Zugriffe einfach durchwinken. Dazu aktivieren Sie die Optionen Verbindungen ohne Einladung erlauben und Steuerung der Arbeitsfläche durch uneingeladene Verbindungen erlauben. Zusätzlich entfernen Sie das Kreuzchen beim Eintrag Für eine uneingeladene Verbindung um Bestätigung bitten. Das bedeutet nicht, dass Ihr Rechner der ganzen Welt offen steht, aber Sie müssen keine expliziten Einladungen mehr aussprechen und die Gäste greifen ohne Angabe eines Passworts auf Ihren Desktop zu. Aus Sicherheitsgründen bestätigen Sie aber weiterhin jeden Zugriff manuell, denn die Möglichkeit, sich ohne Anmeldung auf Ihrem Desktop einzuloggen, gibt es unter Krfb nicht. Das ist verständlich, gefällt doch nur wenigen Benutzern die Vorstellung, dass Andere womöglich unbemerkt den eigenen Desktop beobachten. Im Reiter Sitzung deaktivieren Sie das Hintergrundbild, was die Datenübertragung beschleunigt, unter Netzwerk weisen Sie dem Programm einen anderen als den Port 5900 zu, welchen Krfb gewöhnlich nutzt.

Auf fremden Desktops

Nun kehren Sie das ganze Spielchen um und melden sich mit Ihrem Rechner auf einem entfernten Desktop an. Den Client starten Sie mit [Alt-F2] und der Eingabe von krdc. In das folgende Feld tragen Sie die IP-Adresse des entfernten Rechners und das für den Zugriff freigegebene Display ein, was dann zum Beispiel so aussieht

<C>vnc://192.168.1.80:0<C>

Das Remote Framebuffer Protocol ist dabei nur ein Teil der VNC-Software.


VNC: steht für Virtual Network Connection. Es handelt sich um eine Anwendung, die mit Hilfe des Remote Framebuffer Protocols Zugriff auf entfernte grafische Oberflächen erlaubt.

Die IP-Adresse ersetzen Sie auf Wunsch durch den Namen des Rechners im Netzwerk. Schreiben Sie also vnc://hal:0, wenn Ihr Rechner hal heißt. Über die Schaltfläche Durchsuchen spüren Sie Rechner im Netzwerk auf, vorausgesetzt im Hintergrund läuft ein SLP-Daemon, der diese Funktionalität bietet.


SLP: Service Location Protocol: Gibt bekannt, welche Dienste in einem Netzwerk verfügbar sind. Dazu muss aber der SLP-Daemon laufen, was in kleinen Netzwerken selten der Fall ist.

Haben Sie die Adressdaten eingegeben, legen Sie die Qualität der Datenübertragung fest, die Sie am besten gemäß der Bandbreite und Leistungsfähigkeit Ihres Rechners wählen. Die Verschlüsselungsoption ist grau unterlegt, möglicherweise klappt es in Zukunft auch mit der Sicherheit. Erst wenn der Benutzer des Rechners, auf dem der Server läuft, Ihrem Zugriff durch einen Mausklick explizit zustimmt, fragt der Server vom Client das Passwort ab. Drücken Sie einfach [Eingabe], falls Sie kein Passwort brauchen.

Kundendienst

Den Client passen Sie direkt nach dem Start über die Schaltfläche Einstellungen an Ihre Bedürfnisse an. Auch hier gibt es wieder drei Reiter, über dem ersten steht Rechnerprofile. Die hier aufgeführten Rechner haben sich bereits einmal via Krdc angemeldet, Sie entfernen hier einen Rechner oder gleich alle Rechner auf einmal aus der Liste. Der Reiter VNC-Standards offenbart ein Menü, über das Sie die Qualität der Datenübertragung festlegen, der Wert sollte mit der Bandbreite Ihrer Netzwerkanbindung korrelieren. Im dritten Reiter RDP-Standards definieren Sie, in was für einer Auflösung und mit wie vielen Farben der Client das Bild vom Server anfordert. Das beeinflusst die Geschwindigkeit der Datenübertragung, da die Einstellung wesentliche Auswirkungen auf den Aufwand des Servers beim Kodieren und die zu übertragende Datenmenge hat. Die Schalter sind selbsterklärend: Als Auflösung für die Arbeitsfläche wählen Sie einen der vorgegebenen Werte, die Farbtiefe reicht von mageren 8 Bit bis zu gängigen 24 Bit. Wollen Sie via Krfb Fotos und Filme betrachten, nutzen Sie die 24 Bit, für reine Text- oder Konfigurationsarbeit genügen auch 8 Bit. Zusätzlich wählen Sie eine lokale Tastaturbelegung für den Client. Insgesamt gilt: Je kleinere Werte Sie hier eintragen, desto schneller fließen die Bits und Bytes.

Willkommen auf Java

Haben Sie keinen regulären Client für den VNC-Zugriff, nutzen Sie einfach Ihren Browser als Client. Dazu benötigen Sie allerdings Java auf Ihrem Rechner. Rufen Sie mit [Alt-F2] die Schnellstartleiste auf und geben Sie konsole ein. In die Konsole tippen Sie which java. Existiert die Programmierumgebung auf Ihrem Rechner, gibt das Programm den Pfad zur ausführbaren Datei java zurück. Andernfalls installieren Sie Java über YaST oder den Paket-Manager von Mandriva nach. Im Browser geben Sie dann in der Adressleiste einfach http://192.168.1.80:5801 ein. Die Eingabe setzt sich aus der IP-Adresse des entfernten Rechners zusammen, dann folgt -- getrennt durch einen Doppelpunkt -- die Nummer des Ports, über den der Client den Server kontaktiert. Für die Kommunikation via HTTP nutzt Krfb den Port 5800. Die letzte Zahl der Port-Nummer ersetzen Sie durch das Display, das der Server dem Client zur Verfügung stellt, im obigen Beispiel melden Sie sich beim Display 1 an. Stimmt die Adresse, erscheint ein Web Interface mit der Passwortabfrage, anschließend sehen Sie den entfernten Desktop (Abbildung 3). Geschieht die Übertragung der Daten zu langsam, verändern Sie einfach die Parameter im Menü Options (Abbildung 4). Hier bestimmen Sie unter anderem, wie stark Krfb die Daten vor der Übertragung komprimiert. Aktivieren Sie die Option View only, sehen Sie zwar den anderen Desktop, dürfen ihn aber nicht verändern. Via JPEG image quality legen Sie die Qualität der übertragenen Bilder fest -- das Ausmaß der Datenkompression regeln Sie über den Compression level. So surfen Sie nicht nur ganz entspannt auf dem Desktop eines anderen Rechners, sondern lernen auch gleich, dass Java nicht nur eine Insel ist. (kki)

Abb. 3: Der ferne Desktop aus der Nähe: Mit Krfb und Krdc greifen Sie über das Netzwerk bequem auf den Desktop eines entfernten Rechners zu.

Abb. 4: Lahmt die Datenübertragung gibt es verschiedene Parameter, um die Geschwindigkeit zu erhöhen. Auch der Java-Client bringt ein paar Optionen für das Tuning mit.

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 | © 2010 Linux New Media AG | Last modified: 2007-04-05 11:24

[Linux-Magazin] [LinuxUser] [Linux-Community] [Linux Events] [Linux Magazine] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]