rdesktop

Aus Mikiwiki
Version vom 21. Januar 2009, 21:38 Uhr von Michi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Der Shell-Befehl <b>rdesktop</b> erlaubt den Zugriff auf Microsoft Windows XP-Rechner über Microsofts Remote Desktop Protocol. Die Software bietet die glei...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Der Shell-Befehl rdesktop erlaubt den Zugriff auf Microsoft Windows XP-Rechner über Microsofts Remote Desktop Protocol. Die Software bietet die gleichen Zugriffsmöglichkeiten auf Windows-Terminalserver wie sie Windows-Rechner selbst bieten.

Im Gegensatz zu anderen Fernkontrollprogrammen wie VNC übernimmt der aus der Ferne zugreifende Anwender nicht die Arbeitsoberfläche eines lokalen Anwenders, sondern meldet sich ganz gewöhnlich mit Benutzernamen und Passwort am Windows-Rechner an. Es gibt auch die Möglichkeit, die Tastaturbelegung und die Bildschirmauflösung unabängig vom entfernten Rechner festzulegen. Arbeitet bereits ein Anwender lokal am Windows-Rechner, so informiert RDP den entfernten Anwender und beendet die Verbindung.

Standardmässig verschlüsselt RDP die gesamte Kommunikation mit einem als überholt geltenden 128 Bit langen RC4-Schlüssel. Sobald die Kommunikation aus dem lokalen Netz herausführt, sollte deshalb besser ein VPN-Tunnel verwendet werden.

Grdesktop, Krdesktop und Tsclient sind grafische Frontends von rdesktop. Sie nehmen dem Anwender die Eingabe der Parameter auf der Konsole ab, decken aber nicht den ganzen Funktionsumfang von rdesktop ab.

Optionen

Parameter Funktion
-A Seamless RDP-Verbindung (siehe auch "-s").
-a
-b Umgehung höherer Zeichenoperationen auf dem Client-Rechner. Das kann sinnvoll sein bei langsamen Client-Rechnern, aber schnellem Netz.
-B Verwendung des Backing Store des X-Servers anstatt desjenigen von rdesktop. Der Backing Store speichert bereits gerenderte Anzeigebereiche zwischen, um das Neuzeichnen des Bildschirms zu beschleunigen. Dafür muss in der X-Server-Konfigurationsdatei "xorg.conf" in den Abschnitt "Device" der Grafikkarte der die Option "backingstore" gesetzt sein:
Option "backingstore" "true"
-d <Domäne> Authentifizierungsdomäne.
-f Vollbildschirmmodus. Dieser lässt sich zur Laufzeit mit "STRG+ALT+RETURN" ein- und ausschalten.
-g <Geometrie> Fenstergrösse für die Remote-Verbindung (Breite x Höhe). Der Wert "workarea" übernimmt den "_NET_WORKAREA"-Wert des Fenstermanagers. Die Fenstergrösse kann auch als Prozentwert der Client-Bildschimrauflösung angegeben werden (z. B. "80%").
-K Tastaturkürzel des Windowmanagers beibehalten. Standardmässig werden alle Tastatureingaben an die Windows-Anwendung weitergeleitet, wenn deren Fenster aktiv ist.
-P Speicherung häufig wiederkehrender Bitmpas auf der Festplatte, was jedoch zu einer Wartezeit beim Verbindungsaufbau führt.
-r Geräteumleitung, welche dem Serverrechner einen Zugriff auf Drucker, serielle und parallele Ports, die Audio-Ausgabe und das Dateisystem ermöglicht.
  • -r comport:<Windows-Portnummer>=<Unix-Device> leitet einen seriellen Port um.
  • -r disk:<Name>=</lokaler/Pfad> stellt das Dateisystem "/lokaler/Pfad" unter der Bezeichnung "Name" für den Server zur Verfügung. Voraussetzung ist Windows XP oder neuer. Eine solche Dateifreigabe ist z. B. nützlich, wenn ein Servicepack, das auf mehreren Windows-Rechnern installiert werden soll, lokal auf den Client heruntergeladen wurde.
  • -r lptport:<Windows-Portnummer>=<Unix-Device> leitet einen Parallelport um. Voraussetzung für bidirektionalen Betrieb ist Windows XP oder neuer.
  • -r printer:>Warteschlangenname>[=<Treiber>] leitet einen Drucker um. Der angegebene Druckertreiber muss mit dem Treiber der lokalen Warteschlange übereinstimmen. rdesktop übernimmt den ersten angegebenen Drucker als Standarddrucker.
  • -r sound:[local|off|remote] leitet die Soundausgabe vom Server auf den Client um.
-s Ersetzen der Standard-Windows-Shell "Explorer.exe" durch eine andere Shell, z. B. die Seamless-RDP-Shell. Diese muss zuvor auf dem Windows-Rechner entpackt werden und kann dann wie folgt auf dem Rechner "host" aufgerufen werden:
rdesktop -u Administrator -A -s "C:\<Verzeichnis>\sealessrdpshell.exe notepad.exe" host

"-A" teilt rdesktop mit, dass es sich um eine SEamless-RDP-Verbindung handelt. So lassen sich beliebige EXE-Dateien starten, allenfalls mit Pfadangabe.

Lässt sich die Seamless RDP-Shell nicht ausführen, startet die Verbindung im normalen Desktop-Modus. Bei Verbindungen mit Windows XP müssen auf Windows-Seite der schnelle Benutzerwechsel und der Willkommensbildschirm aktiv sein.

-u <Benutzer> Benutzer für die Anmeldung unter Microsoft Windows.
-x [b|l|m] Optimierung der Netzwerkverbindung für Breitband-, LAN- oder Modem-Verbindung.
-z Kompression der übertragenen Daten.

Installation

SUSE Linux 10.0 OSS

Vorbedingungen

  • Paket "openssl-devel"
$ tar xzf rdesktop-1.5.0.tar.gz
$ cd rdesktop-1.5.0
$ ./configure
$ make
# checkinstall
# yast -i /usr/src/packages/RPMS/i386/rdesktop-1.5.0-1.i386.rpm

Ubuntu 7.04 Feisty Fawn

Paket "rdesktop".

Verwendung

Verbindung mit dem Windows-Terminalserver "host" als Benutzer "Administrator. Voreingestellt werden dabei ein deutsches Tastaturlayout ("-k de"), eine Farbtiefe von 16 Bit ("-a 16") und eine Auflösung von 1200x900 Pixel ("-g 1200x900").

$ rdesktop -k de -a 16 -x 1 -g 1200x900 -u Administrator host

Verbindung mit Rechner "host"

Auf dem Windows XP-Rechner "host" muss im Menü "Start > Einstellungen > Systemsteuerung > System > Remote" ein Haken gesetzt werden vor der Option "Benutzern erlauben, eine Remotedesktopverbindung herzustellen".

Herstellen einer Verbindung mit dem Rechner "host" und Einloggen als Benutzer "abc" mit dem Passwort "xyz".

$ rdesktop host -u abc -p xyz

Die Meldung "Connection refused" erscheint, falls auf dem entfernten Rechner keine Terminal Services laufen oder eine Firewall den Zugriff blockiert.

Verbindung mit Rechner "host" via Rechner "relay"

Es soll eine Verbindung vom lokalen Linux-Rechner "localhost" über die Linux-Zwischenstation "relayhost" zum Windows-Rechner "remotehost" hergestellt werden.

--------------------           -------------           ---------------------
| localhost   3389 | <-------> | relayhost | <-------> | 3389   remotehost |
--------------------           -------------           ---------------------

Auf dem Rechner "localhost" wird folgender Befehl abgesetzt.

$ ssh -C -L 3389:remotehost:3389 user@relayhost

Danach ist auf Rechner "localhost" folgender Aufruf möglich.

$ rdesktop relayhost -u abc -p xyz

Weblinks