Aus Linux-Magazin 10/2007

Windows-Terminalserver unter Linux

Wer Windows-Server administriert, muss dazu seinen Linux-Rechner nicht verlassen: Das Rdesktop-Protokoll holt wahlweise den ganzen Redmonder Desktop oder einzelne Fenster auf den Linux-Rechner. Gerade Administratoren heterogener Umgebungen erleichtert dies die Arbeit.

Virtualisierte Serverlandschaften [1] setzen Software voraus, die Zugriff auf die einzelnen virtualisierten Maschinen ermöglicht. Die Hersteller von Virtualisierungssoftware bieten hierfür selbst Konsolenprogramme an. Da sich diese jedoch meist als äußerst anspruchsvoll bei den Ressourcen erweisen, ergibt sich in der Praxis oft der Wunsch nach einer sparsamen Alternative.

Eine stellt das von Matthew Chapman initiierte Projekt Rdesktop [2] zur Verfügung. Rdesktop implementiert Microsofts kaum dokumentiertes RDP-Protokoll unter Linux. Die Software eignet sich natürlich nicht nur zum Fernsteuern virtueller Maschinen, sondern auch von echten Windows-Maschinen.

Remote Desktop Protokoll

RDP basiert auf dem T.120/T.128-Standard ([4], früher T.SHARE) der International Telecommunications Union (ITU, [5]). Microsoft erweiterte dieses Protokoll und führte es zuerst in Windows NT in Version 4 unter der Bezeichnung Windows Terminal Services ein. Windows-Terminalserver erlauben es einer bestimmten Anzahl von Benutzern, sich mit einem Server zu verbinden. Von einem Client-seitigen Programm aus lässt sich ein entfernter Desktop auf die lokale Maschine holen, um Applikationen auf dem Terminalserver zu starten.

Rdesktop passt sich flexibel an die zur Verfügung stehende Netzwerkbandbreite an. Die Software bietet die gleichen Zugriffsmöglichkeiten auf Windows-Terminalserver, wie sie Windows-Maschinen selbst bieten. Seamless-RDP von Cendio [3] etwa geht sogar noch einen Schritt weiter. Die Software öffnet statt des gesamten Desktops auch einzelne Anwendungen wie Word oder die Microsoft Management Console.

Neben den in Windows integrierten Terminalservices bieten Hersteller wie Citrix [6] und Nomachine [7] eigene Lösungen an. Beide setzen aber eine Installation von Server- und Client-Software voraus. Geht es nur um die Fernwartung von Windows-Systemen, ist dieser zusätzliche Aufwand überflüssig.

Zwar verlangt der Redmonder Softwareriese für den Mehrbenutzerbetrieb der Windows Terminal Services zusätzliche Lizenzgebühren. Zwei freie Verbindungen für Wartungsarbeiten stehen jedoch in nahezu jeder Windows-Variante zur Verfügung. Unterschiede gibt es allerdings bei der bereitgestellten RDP-Version. Windows XP und Windows Server 2003 sprechen RDP 5, Windows Vista und das kommende System Windows Server 2008 dagegen RDP 6.

Rdesktop liegt in der Version 1.5.0 vor. Eine Aktualisierung auf diese Version ist empfehlenswert und Voraussetzung für das Nachvollziehen dieses Artikels.

Fernzugriff

Um eine Verbindung mit einem Windows-Server aufzubauen, reicht es, Rdesktop mit der Server-DN oder dem veröffentlichten Rechnernamen als Parameter aufzurufen. Rdesktop wählt bei der Verbindung selbstständig die richtige Farbtiefe und das passende Tastaturlayout. Bei Bedarf kann der Anwender diese Einstellungen über Kommandozeilenoptionen ändern. Auch Benutzernamen und Passwort, das gefährlicherweise unverdeckt einzugeben ist, übernimmt Rdesktop auf der Kommandozeile. In der Praxis sieht ein Rdesktop-Aufruf folgendermaßen aus:

rdesktop -k de -a 16 -x l -g 1200x900 -u Administrator Windows-Terminal-Server

Abbildung 1 zeigt die so entstandene Verbindung. Die Option »-k de« wählt ein deutsches Tastaturlayout, »-a 16« eine Farbtiefe von 16 Bit. Höhere Farbtiefen verbieten die Windows Policies in der Standardeinstellung. Diese Beschränkung hebt der Administrator in den lokalen oder domänenweiten Gruppenrichtlinien auf. Die Einstellung ist in der Richtlinie »Computer | Terminal Services | Rdesktop« möglich. Da Rdesktop die Verbindung standardmäßig mit einer Auflösung von nur 800 mal 600 öffnet, was das Arbeiten mit dem entfernten Windows erschwert, ist es sinnvoll, über den Parameter »-g« einen höheren Wert anzugeben. »-f« schaltet den Fullscreen-Modus eint (Abbildung 2).

Abbildung 1: Redesktop überträgt den ganzen Windows-Desktop oder einzelne Anwendungsfenster auf den Linux-Rechner. Auch Dateifreigaben des Clientsystems kosten nur einen Kommandozeilenparameter.

Abbildung 1: Redesktop überträgt den ganzen Windows-Desktop oder einzelne Anwendungsfenster auf den Linux-Rechner. Auch Dateifreigaben des Clientsystems kosten nur einen Kommandozeilenparameter.

Abbildung 2: Der Schein trügt: Die Abbildung zeigt keinen Vista-Rechner. Vielmehr überträgt Rdesktop die Anzeige des Redmonder Systems im Fullscreen-Modus auf einen Linux-Rechner.

Abbildung 2: Der Schein trügt: Die Abbildung zeigt keinen Vista-Rechner. Vielmehr überträgt Rdesktop die Anzeige des Redmonder Systems im Fullscreen-Modus auf einen Linux-Rechner.

Eine Reihe von grafischen Frontends wie Grdesktop [8], der Tsclient ([9], Abbildung 3) und Krdesktop [10] nehmen dem Anwender die Eingabe der Parameter auf der Konsole ab. Sie decken allerdings nicht den ganzen Funktionsumfang von Rdesktop ab.

Langsame Verbindungen

Zwar werden Netzwerkbandbreiten unter 100 MBit pro Sekunde immer seltener. Als redundante Wartungsleitungen haben sie aber auch in professionellen IT-Infrastrukturen nach wie vor ihre Berechtigung. Wegen der schleppenden Datenübertragung sind hier wie bei Modem- oder ISDN-Verbindungen Mechanismen gefragt, die möglichst viele Daten in ein Datenpaket packen. Der Parameter »-z« beim Rdesktop-Aufruf schafft mit einer Kompression der Daten die erste Voraussetzung für die Desktopverbindung über ein langsames Netz.

Noch wesentlich mehr Bandbreite spart die Optionen »-x«, die mit den Parametern »b«, »l« oder »m« die Verbindung für eine Breitband-, LAN- oder Modemverbindung optimiert. »-P« speichert häufiger wiederkehrende Bitmaps auf der Festplatte, was jedoch zu einer Wartezeit beim Verbindungsaufbau führt. Die Option »-b« umgeht höhere Zeichenoperationen auf dem Client, was bei langsamen Clientrechnern, aber schnellem Netz sinnvoll sein kann.

Rdesktop setzt einen so genannten Backing Store ein, der bereits gerenderte Bereiche der Anzeige zwischenspeichert, um das Neuzeichnen des Bildschirms zu beschleunigen. Die Option »-B« weist die Software an, stattdessen den Backing Store des X-Servers zu benutzen, den der Administrator zuvor in »xorg.conf« über die Einstellung »Option “BackingStore” “true”« aktiviert.

Geräte umleiten

Die so genannte Geräteumleitung, die dem Serverrechner einen Zugriff auf Drucker, serielle und parallele Ports, die Audio-Ausgabe und das Dateisystem ermöglicht, funktioniert mit Rdesktop auch unter Linux. Die Option »-r« – gefolgt vom Schlüsselwort »disk«, »lptport« »printer« oder »sound« – gibt die genannte Ressource frei. »disk:Name=/freigegebenes/Verzeichnis« gibt das Verzeichnis hinter dem Gleichheitszeichen unter der Bezeichnung »Name« frei (Abbildung 1). Dateifreigaben sind zum Beispiel nützlich, wenn der Administrator ein Servicepack, das er auf mehreren Windows-Rechnern installieren möchte, lokal auf seinem Client heruntergeladen hat (vergleiche Tabelle 1).

Tabelle 1:
Rdesktop-Kommandozeilenparameter

Abbildung 3: Tsclient erspart mit einer grafischen Oberfläche die Handarbeit auf der Konsole, unterstützt allerdings nicht den ganzen Leistungsumfang von Rdesktop.

Abbildung 3: Tsclient erspart mit einer grafischen Oberfläche die Handarbeit auf der Konsole, unterstützt allerdings nicht den ganzen Leistungsumfang von Rdesktop.

Seamless-RDP

Die Rdesktop-Option »-s« ersetzt die Standard-Windows-Shell »Explorer.exe« durch eine andere Anwendung. Seamless-RDP nutzt dies und startet beim Verbindungsaufbau die GPL-lizenzierte Seamless-RDP-Shell von Cendio [3]. Die einzige Vorarbeit auf dem Windows-Rechner besteht darin, den Inhalt der Zip-Datei unter [3] in ein beliebiges Verzeichnis zu entpacken. Der Aufruf

rdesktop -u Administrator -A -s "C:Verzeichnisseamlessrdpshell.exe mmc.exe" Server-Adresse

startet auf dem Linux-Rechner dann »mcc.exe«, also Microsofts Managementkonsole in einem eigenen Fenster.

»-A« teilt Rdesktop mit, dass es sich um eine Seamless-RDP-Verbindung handelt. »-u Administrator« sorgt für Administrator-Rechte. Bevor die Managementkonsole startet, erscheint der Windows-Anmeldebildschirm im Rdesktop-Fenster. Neben »mmc.exe« lassen sich auf diese Weise beliebige Exe-Dateien starten. Befindet sich die Datei nicht innerhalb des Windows-Pfads für ausführbare Dateien, muss der Anwender den Pfad explizit angeben. Anders als unter Windows ist dabei der Laufwerksbuchstabe zwingend groß zu schreiben.

Lässt sich die Seamless-RDP-Shell nicht ausführen, startet die Verbindung im normalen Desktop-Modus. Bei Verbindungen mit Windows XP muss der Administrator darauf achten, dass auf der Windows-Seite der schnelle Benutzerwechsel und der Willkommensbildschirm aktiv sind.

Rdesktop statt Turnschuh

Rdesktop erleichtert mit oder ohne Seamless-RDP die Administration von Windows-Rechnern in heterogenen Umgebungen. Auf dem Client zentral für die Arbeit an mehreren Servern gesammelte Dateien lassen sich leicht freigeben. Auch der Datentausch über die Zwischenablage funktioniert über die Systemgrenzen hinweg problemlos. Wer möchte, kann auch Drucker oder die Soundausgabe umleiten.

Mit der Einschränkung, dass ohne zusätzliche Lizenzkosten nur zwei RDP-Verbindungen gleichzeitig möglich sind, stellt Rdesktop beliebige Windows-Anwendungen unter Linux zur Verfügung. Lediglich beim Einzelfenstermodus über Seamless-RDP kommt es gelegentlich zu Darstellungsfehlern. pkr)

Infos

[1] Virtualisierung: Linux-Magazin Technical Review 01; [https://www.linux-magazin.de/technical_review/technical_review_01_virtualisierung__1]

[2] Rdesktop: [http://www.rdesktop.org]

[3] Seamless-RDP von Cendio: [http://www.cendio.com/seamlessrdp]

[4] Netmeeting 3.0 Resource Kit, T.120-Standard: [http://www.microsoft.com/technet/archive/netmeeting/reskit/netmtg3/part3/chaptr10.mspx?mfr=true]

[5] International Telecommunication Union: [http://www.itu.int]

[6] Citrix Terminal Server: [http://www.citrix.de]

[7] NX von Nomachine: [http://www.nomachine.com]

[8] Grdesktop: [http://savannah.nongnu.org/projects/grdesktop]

[9] Tsclient: [http://freshmeat.net/projects/tsclient]

[10] Krdesktop: [http://krdesktop.sourceforge.net]

Der Autor

Markus Klimke ist Mitarbeiter im Institut für Modellierung und Berechnung an der Technischen Universität Hamburg-Harburg.

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben