X-Window Nutzung unter Microsoft Betriebssystemen

Das LRZ bietet auf seinen UNIX/Linux-Servern zahlreiche Dienste an, die ein X-Window basiertes GUI verwenden. A priori können von Microsoft Windows aus solche Programme nicht gestartet werden, weil das sog. X11 Protokoll von MS Windows nicht unterstützt wird. Dieser Artikel beschreibt, wie man diese Hürde überwinden kann.

Einführende Bemerkungen

Das LRZ bietet auf seinen Compute-Plattformen, die unter dem Betriebssystem UNIX laufen, zahlreiche Dienste an, die als graphische Benutzeroberfläche das sog. X-Window System verwenden. Hierbei kommt ein Netzwerk-Protokoll zum Einsatz, das die graphischen Ein- und Ausgaben des Programms ("Client") vom UNIX-Rechner zu dem lokalen sogenannten X-Server überträgt, der für die Kontrolle der Bildschirmausgabe verantwortlich ist.

Als Nutzer der Betriebssysteme von Microsoft hat man zunächst Pech: Keine der Varianten von Microsoft Windows unterstützt das X11 Protokoll unmittelbar. Durch Installation von frei verfügbarer Zusatz-Software kann diese Hürde jedoch überwunden werden, und ein direkter Zugriff auf alle UNIX-Plattformen des LRZ oder auch instituts-eigene UNIX Server wird möglich.

Hierbei sind folgende Gesichtspunkte zu beachten:

  • Installation der X11 Software
  • Installation der Secure Shell Zugangssoftware

Installationsanleitung

Voraussetzung bei der Installation ist ein funktionierender Internet-Zugang für den Rechner, auf dem die Software laufen soll. Die folgende Beschreibung sollte für Windows NT/2000 sowie Windows XP zutreffen, für Windows 95, 98 und Me können ggf. Unterschiede auftreten.

Schritt 1: Cygwin/XFree86 installieren:

Man melde sich ggf. mit Administrator-Rechten an seinem Windows System an.

Man öffne mit einem Web-Browser die Cygwin-Seite http://cygwin.com/xfree/, die in etwa so aussehen sollte, wie im Bild rechts illustriert. Darin klicke man den Link Install Cygwin/XFree86 now an, speichere die Zieldatei setup.exe etwa auf C:\temp ab, und starte sie. Cygwin
Dann erhält man ein Setup-Fenster, und wird zu einer schrittweisen Installationsprozedur aufgefordert:
  • Bei Choose A Download Source behalte man die Einstellung Install from Internet bei.
  • Bei Select Root Install Directory sollte man das Zielverzeichnis für die Installation angeben. Für die hier angegebene Beispiel-Installation wollen wir C:\cygwin verwenden. Ausserdem wird in der Beispiel-Installation Install for All Users und Default File Type Unix gewählt.
  • Bei Select Local Package Directory gebe man ein temporäres Verzeichnis für die vom Internet zu ladenden Archive an; die dort angelegten Dateien können nach Abschluss der Installation wieder entfernt werden.
  • Bei Select your Internet Connection wähle man die geeignetste Verbindungsart an.
Danach holt sich das Installationsprogramm eine Liste von Spiegel-Servern, auf deren jedem die Software verfügbar sein sollte. Eine gute Wahl ist hier ftp://ftp.funet.fi.

Dann wird mit der eigentlichen Installation begonnen. Es erscheint zunächst ein Fenster Select Packages (siehe Abb. rechts), in dem man prinzipiell Pakete selektieren oder deselektieren kann. Hier ist insbesondere zu beachten, dass die unter XFree86 angezeigten Programme zu installieren sind, sowie von der Netzwerk-Software das Paket openssh. Nachdem alle Selektionen ausgeführt sind, klicke man auf "Weiter". Es werden dann alle erforderlichen Programme installiert. Am Schluss sollte man sich ggf. noch ein Icon auf dem Desktop bzw. einen Programm-Eintrag erzeugen lassen.

Setup

Select

Schritt 2: X11 Subsystem starten

Nun kann man X11 starten. Hierfür dient bei Vorliegen einer Dreitastenmaus die Stapelverarbeitungsdatei C:\cygwin\usr\X11R6\bin\startxwin.bat, im Falle einer Zweitastenmaus muss man diese Datei in geeigneter Weise abändern. Die gewünschte Datei verknüpfe man etwa mit einem Desktop Icon, das durch Doppelklick zu aktivieren ist:

Der X-Server wird dann unsichtbar gestartet, und ausserdem das wichtige Client-Programm xterm, das wie in der Abbildung rechts aussehen sollte. Dieses Terminal-Programm, das eine X11-fähige bash-Shell zur Verfügung stellt, dient als Grundlage für alle X11-Applikationen, die auf einem entfernten UNIX-Server gestartet werden sollen. Xterm

Durch <Ctrl> + rechte Maustaste über dem xterm kann man einen größeren als den vorgegebenen Font einstellen; außerdem läßt sich das xterm-Fenster mit der Maus vergrößern.

Wichtiger Hinweis: Innerhalb einer Sitzung sollte man nur einmal das X11-Desktop-Icon anklicken, damit nicht mehrere X-Server sich gegenseitig in die Quere kommen. Für weitere Shell Terminal Clients starte man am besten im ersten xterm ein weiteres durch Eingabe von xterm &.

Schritt 3: Secure Shell Client nutzen

Aus Sicherheitsgründen sollte man das X11 Protokoll grundsätzlich über Secure Shell tunneln. Man kann sich in der üblichen Weise - wenn man entsprechend validiert ist - auf einem LRZ UNIX/Linux-Rechner anmelden:


ssh -X myaccount@lxsrv1.lrz.de

Beim ersten Login wird von ssh abgefragt, ob man den Host Key als gültig ansieht, diese Frage bejahe man. Nach dem erfolgreichen Login kann man etwa durch Eingabe des Kommandos xlogo & testen, ob die X11 Übertragung funktioniert. Es sollte nach kurzer Zeit das rechts abgebildete Logo erscheinen. Logo

Der Login auf einem Institutsrechner sollte in analoger Weise möglich sein, vorausgesetzt auf dem Zielrechner ist der Secure-Shell Server installiert, konfiguriert und gestartet.

Mögliche Probleme

Beim Aufruf des X Servers startxwin.bat wird Xwin nicht gefunden

Offenbar wurde der X Server nicht mit installiert. Starten Sie bitte nochmal das Setup-Programm und überprüfen Sie im Fenster Select Packages, ob in der Paket-Gruppe XFree86 das Paket XFree86-xserv angewählt wurde. Falls dieses Paket mit dem Vermerk Skip versehen ist, müssen Sie es (durch Anklicken) nachinstallieren.

Remote gestartete Anwendung stürzt ab

Leider laufen nicht alle Remote-Anwendungen; komplexere Programme können mit "X Error: BadWindow" oder ähnlichen Fehlern abstürzen. Hier hilft nur der Umstieg auf ein kommerzielles X11 Produkt (etwa ExCeed, s. u.).

Fehlende Fonts

Manche Anwendungen beklagen sich über fehlende Fonts; offenbar bringt die Cygwin Installation nicht alle üblicherweise verwendeten Fonts mit. Dieses Problem kann durch Anwahl des LRZ Font-Servers mittels einer Kommandozeile

xset fp+ tcp/fontserver1.lrz.de:7003

behoben werden. Dieses Kommando ist am besten auf dem Rechner, auf dem das Cygwin X11 läuft, in einem X Terminal abzusetzen.

Weiterführende Dokumentation

ist auf dem Internet verfügbar. Insbesondere erwähnt seien die Cygwin Webseite bezüglich des Cygwin Unix Subsystems, sowie die Openssh Webseite bezüglich Secure Shell.

Es soll nicht verschwiegen werden, dass es auch kommerzielle X-Server für Windows gibt: So kann man etwa über die Firma Software-House das Produkt Hummingbird ExCeed beziehen; dieses Produkt kann mit Secure Shell Clients für Windows integriert werden, um eine vergleichbare Funktionalität wie oben beschrieben zu erzielen.