Linux-Fenster auf dem Windows-Rechner
Hand in Hand
Peter Kreußel
Alle Linux-Programme auf dem Windows-Desktop: Wenn Sie Linux auf einem zweiten Rechner installieren, ist dies möglich. Dieser Artikel stellt zwei Verfahren vor, mit denen Sie Programmfenster eines Linux-Rechners über das Netzwerk auf Ihren Windows-Schirm holen.
Wenn Sie von einem Windows-Computer aus die Programme eines Linux-Rechners in Ihrem Netzwerk nutzen möchten, bieten sich zwei unterschiedliche Verfahren an:
- Das Cygwin-Projekt ermöglicht es, das X Window System, die grafische Oberfläche von Linux, auf dem Windows-Rechner zu starten. X Window ist von Haus aus voll netzwerktransparent: Der Rechner, auf dem die Anwendung läuft, muss nicht der Rechner sein, auf dem sich das Anwendungsfenster öffnet. Von Linux- zu Linux-Rechner funktioniert dies ohne zusätzliche Software. Mit der Kombination Cygwin/X Window beherrschen dies auch Windows-Rechner.
- VNC (Virtual Network Computing) heißt ein von AT&T entwickeltes Verfahren, das in regelmäßigen Abständen den Bildschirm "fotografiert". Es überträgt die Screenshots und zusätzlich Mausbewegungen und Tastatureingaben. So haben Sie beinahe uneingeschränkten Zugriff auf den Desktop eines Rechners im Netzwerk. Da die VNC-Software für Linux und Windows gleichermaßen zur Verfügung steht, ist eine Verknüpfung der unterschiedlichen Betriebssysteme kein Problem.
Vernetzt
Dieser Artikel setzt voraus, dass die Netzwerkverbindung zwischen Windows- und Linux-Rechner bereits eingerichtet ist. Sollte dies noch nicht der Fall sein, lesen Sie die Anleitung in [1]. Um zu testen, ob die Verbindung steht, starten Sie auf dem Linux-Rechner durch Klick auf das kleine Bildschirmsymbol in der Taskleiste eine Konsole und geben den Befehl /sbin/ifconfig ein. Die Ausgabe zeigt die IP-Adressen Ihrer Netzwerkkarten an (Abbildung 1). Der Name der ersten Netzwerkkarte ist eth0, der der zweiten (wenn vorhanden) eth1. Daneben gibt es auf einem Linux-System noch andere Netzwerkgeräte, die hier jedoch nicht von Interesse sind.

Abb. 1: Der Befehl "ifconfig" zeigt die IP-Adresse des Linux-Rechners an.
Starten Sie nun unter Windows eine Textkonsole (Programme / Zubehör / Kommandozeile im Startmenü). Der Befehl ping, gefolgt von der IP-Adresse, die Sie für den Linux-Rechner ermittelt haben, sollte eine Ausgabe wie in Abbildung 2 liefern: Windows sendet vier Netzwerkpakete (Sent=4), vier sollten ankommen (Received=4), keines darf verloren gehen (Lost=0).

Abb. 2: Mit "ping" senden Sie über das Netzwerk Testpakete an einen Rechner. Wenn er eine Antwort sendet, funktioniert die Verbindung.
Netzwerktransparenz: Für netzwerktransparente Verfahren ist es nicht von Bedeutung, ob sie "aus der Ferne" oder vom gleichen Rechner aus ausgeführt werden. Das bekannteste Beispiel ist das X Window System, die grafische Oberfläche von Linux: Einer Anwendung, die unter X Window läuft, ist es egal, ob sich ihr Anzeigefenster auf dem Rechner öffnen soll, auf dem die Anwendung gestartet wurde, oder auf einem über das Netzwerk verbundenen Rechner. Öffnet sich das Anwendungsfenster auf einem entfernten Rechner, so spricht man auch von Remote X.
IP-Adresse: Wie eine Postanschrift dient die IP-Adresse dazu, gezielt einen bestimmten Rechner in einem Netzwerk mit mehreren Computern anzusprechen. Sie besteht aus einer durch Punkte getrennten Abfolge von vier Zahlen zwischen 0 und 255, zum Beispiel 192.168.1.24. Wenn Sie IP-Adressen in ihrem Netzwerk per Hand vergeben, ist es wichtig, sich auf Adressen zu beschränken, die mit 192.168. beginnen, denn diese Adressen kommen im Internet nicht vor. Andernfalls kann es passieren, dass Sie bestimmte Web-Seiten nicht mehr erreichen können.
Qual der Wahl
Die folgende Übersicht soll Ihnen helfen, zu entscheiden, ob für Sie Remote X oder VNC das richtige Verfahren ist.
- Über Remote X mit Unterstützung des Cygwin-Projekts zaubern Sie ein "normales" Anwendungsfenster auf den Bildschirm, das sich äußerlich nicht von Windows-Fenstern unterscheidet (Abbildung 3).
- Sie können die Fenstergröße verändern.
- Über die Zwischenablage lassen sich Daten mit Windows-Programmen austauschen.

Abb. 3: Der Linux-Datei-Manager in einem Windows-Fenster: Das X Window System läuft unter Cygwin auf einem Windows-Rechner.
Für eine VNC-Verbindung gilt:
- Sie überträgt nicht nur ein einzelnes Anwendungsfenster, sondern den gesamten Desktop eines entfernten Rechners (Abbildung 4). Die Fenstergröße des VNC-Sitzungsfensters lässt sich im Nachhinein nicht mehr verändern.
- Zum Starten von Programmen steht Ihnen wie gewohnt das Startmenü zur Verfügung.
- Eine VNC-Verbindung zwischen Linux und Windows funktioniert in beide Richtungen: Sie können sich den Linux Desktop ebenso auf Ihren Windows-Rechner holen wie den Windows Desktop auf den Linux-Rechner.
- Die Zwischenablage lässt sich zwischen Linux- und Windows PC nicht benutzen.
- Da die Bildübertragung ein komprimiertes jpg-Format einsetzt, wirkt der entfernte Desktop leicht verschwommen.
- Die Anzeige unter VNC ist relativ träge, weil dieses Verfahren nur eine bestimmte Anzahl von "Schnappschüssen" pro Sekunde überträgt.

Abb. 4: VNC-Verbindungen über das Netzwerk bringen einen Linux Desktop auf die Windows-Anzeige.
Cygwin/X
So installieren Sie die Cygwin-Umgebung auf Ihrem Windows-Rechner:
- Starten Sie Setup.exe aus dem Ordner \programme\andere\Cygwin von der Heft-CD. Klicken Sie im Begrüßungsbildschirm auf Next.
- Möchten Sie von der Heft-CD installieren, wählen Sie Install from local Directory (von einem lokalen Verzeichnis installieren). Die Option Install from Internet lädt die aktuelle Version aus dem Internet, der Download ist etwa 30 MByte groß. Wenn Cygwin Sie fragt, von welchem Server Sie downloaden möchten, wählen Sie einen Standort in Ihrer Nähe. Der Next-Button bringt Sie zum nächsten Bildschirm.
- Die Standardeinstellung für das Root-Directory (C:\cygwin) sollten Sie übernehmen. Wählen Sie im folgenden Bildschirm als Local Package Directory (Ordner, in dem sich die Quelldateien für die Installation befinden) [Ihr CD-Laufwerk]\programme\andere\Cygwin.
- Nun gibt Ihnen der Cygwin Installer die Möglichkeit, Pakete zu wählen. Hier müssen Sie openssh unter der Rubrik Net (Netzwerk) sowie xorg-x11-base (Rubrik X11) per Hand aktivieren. Pakete wählen Sie aus, indem Sie auf skip (überspringen) klicken. Der Installer zeigt dann statt skip die Version des gewählten Pakets an. Außerdem aktiviert er weitere benötigte Pakete automatisch (Abbildung 5).
- Ein Klick auf Next startet den Kopiervorgang. Im abschließenden Dialog, in dem Sie das Installationsprogramm fragt, ob es ein Shortcut auf dem Desktop oder einen Startmenüeintrag erstellen soll, lassen Sie beide Kontrollkästchen am besten unmarkiert: Der Startmenüeintrag und der Desktop Shortcut, die Cygwin erstellt, verweisen nicht auf das hier benötigte Programm.
- Da Cygwin bei der Installation keinen Startmenüeintrag für den X-Server erstellt, müssen Sie diesen aus dem Explorer heraus starten. Öffnen Sie dazu das Verzeichnis C:\cygwin\user\X11\bin, ziehen Sie die Datei startxwin[.bat] (je nach Einstellung zeigt der Explorer die Dateiendung bat an) mit der Maus auf den Desktop und halten Sie dabei [Strg-Umsch] gedrückt. Nach Klick auf die Verknüpfung öffnet sich eine Textkonsole. Zusätzlich sehen Sie rechts in der Taskleiste ein kleines X-Icon.
- Nun sollte sich die Firewall zu Wort melden. Erlauben Sie dem Programm Xwin.exe den Zugriff auf das Netzwerk. Wenn Ihre Firewall danach fragt, ob Xwin.exe auch als Server fungieren soll, gestatten Sie dies ebenso: Die eigentliche Verbindung zwischen den Rechnern erfolgt über SSH, eine sichere, verschlüsselte Verbindung. Sie müssen sich also hierbei keine Sorgen um die Sicherheit Ihres Windows-Rechners machen.
Auch auf Linux-Seite müssen Sie die Firewall-Einstellungen anpassen. Unter Mandriva Linux gehen Sie folgendermaßen vor:
- Wählen Sie im Startmenü den Eintrag System / Einstellungen / Den Computer konfigurieren.
- Unter der Rubrik Sicherheit starten Sie das Modul Eine persönliche Firewall aufsetzen ....
- Klicken Sie zweimal OK
- Das Mandriva Linux Kontrollzentrum fragt Sie nun nach der Schnittstelle, über die Sie mit dem Internet verbinden. Im Listenfeld am unteren Rand des Dialogfeld wählen Sie ppp+, wenn Sie über Modem oder DSL mit dem Internet verbunden sind, ippp+ für eine ISDN-Verbindung. Bestätigen Sie mit OK.
Unter Suse Linux 9.3 und 10.0 führt folgendes Vorgehen zum gewünschten Ergebnis:
- Starten Sie Yast und öffnen Sie das Modul Firewall aus der Rubrik Sicherheit und Benutzer.
- Wählen Sie im linken Teilfenster Schnittstellen.
- Wählen Sie im Hauptfenster die Netzwerkkarte aus, die Ihr internes Netzwerk nutzt. Ein Klick auf Bearbeiten öffnet ein Dialogfeld, in dem Sie die Schnittstellenzone von Externe Zone in interne Zone ändern. Bestätigen Sie mit OK.
- Mit Weiter und im letzten Schritt mit Übernehmen schließen Sie die Firewall-Einstellung ab.

Abb. 5: Der Cygwin-Installer installiert die Cygwin-Umgebung größtenteils automatisch. Lediglich bei der Auswahl der Pakete ist Handarbeit erforderlich.
SSH: Protokoll, das eine sichere Datenübertragung über eine an sich unsichere Netzwerkverbindung gestattet. Das Programm, das die sichere Verbindung aufbaut, heißt ebenfalls SSH. SSH erhöht die Sicherheit der Remote-X-Verbindung.
Geben Sie nun in die Konsole ssh -X [user]@ gefolgt von der wie beschrieben ermittelten IP-Adresse des Linux-Rechners ein. [user] ist dabei ein für den Zielrechner gültiger Benutzername. Wenn Sie die SSH-Verbindung zu diesem Rechner das erste Mal starten, teilt Ihnen SSH aus Sicherheitgründen mit, dass es den Rechner nicht kennt, und fragt, ob Sie wirklich eine Verbindung herstellen möchten. Erlauben Sie dies, indem Sie yes gefolgt von [Eingabe] eingeben. Nachdem Sie das zugehörige Passwort eigegeben haben, steht die Verbindung zum Rechner im Netz.
Nun können Sie auf der Konsole genauso arbeiten, als säßen Sie direkt an dem Rechner, mit dem Sie verbunden sind. Testen Sie dies zunächst, indem Sie konqueror & eingeben. Nach einer Weile sehen Sie ein Konqueror-Fenster, das jedoch nicht Ihr lokales Windows-Dateisystem, sondern das des Linux-Rechners anzeigt. Das &-Zeichen hinter konqueror bewirkt übrigens, dass Sie über die gleiche Konsole weitere Programme starten können: Nach dem Start des Programms erscheint erneut die Eingabeaufforderung; eventuell ist es nötig, zuvor die Eingabetaste zu drücken.
Leider bleibt es Ihnen nicht erspart, den Namen der Anwendung auf der Konsole zu tippen, wenn Sie ein Programm über Remote X starten möchten. Allerdings genügt es, die ersten Buchstaben des Namen einzugeben, und dann [Tab] zu drücken. Die Konsole ergänzt nun den Namen der Anwendung, wenn die Buchstabenfolge eindeutig ist. Sollte es nicht funktionieren, haben Sie sich entweder vertippt, oder die Konsole benötigt mehr Buchstaben.
Wenn Sie nicht wissen, welchen Namen Sie eingeben müssen, um eine bestimmte Anwendung zu starten, klicken Sie auf dem Linux-Computer rechts auf das KDE-Startmenmü in der Taskleiste. Der Menü-Editor erscheint. Markieren Sie im linken Fensterdrittel das gewünschte Programm. Unter Befehl steht der Programmaufruf, der das Programm auf der Konsole startet. Möchten Sie jedoch auf das Startmenmü und die gesamte KDE-Umgebung nicht verzichten, ist vermutlich eine VNC-Verbindung für Sie die bessere Wahl.
VNC unter Linux einrichten
Die KDE-Umgebung enthält auf Linux-Seite alles, was für eine VNC-Verbindung nötig ist. Installieren Sie unter Mandriva Linux das Paket kdenetwork-krfb von der Distributions-DVD. Unter Suse Linux ist das benötigte Paket kdenetwork3-vnc bereits nach der Standardinstallation verfügbar. Zur Konfiguration des VNC-Servers drücken Sie [Alt-F2] und geben krfb ein. Klicken Sie auf Einrichten... und stellen Sie die Rubrik Zugriff wie in Abbildung 6 gezeigt ein. Mit diesen Einstellungen können Sie auf einen zweiten Monitor verzichten oder den Linux-Rechner in einem anderen Raum aufstellen.
Auch für VNC-Verbindungen ist es nötig, die Linux-Firewall anzupassen. Falls Sie dies noch nicht wie für Cygwin/X beschrieben ausgeführt haben, holen Sie dies nun nach.

Abb. 6: Der VNC-Server unter Linux lässt sich so konfigurieren, dass Sie eingehende Verbindungen nicht bestätigen müssen. Sie benötigen dann am Linux-Rechner keinen Bildschirm mehr.
VNC unter Windows einrichten
Auf dem Windows-Rechner installieren Sie VNC folgendermaßen:
- Starten Sie tightvnc-1.2.9-setup.exe von der Heft-CD (zu finden unter: \programme\andere\tightvnc).
- Mit Next bewegen Sie sich durch die Installationsschritte. Übernehmen Sie alle Standardeinstellungen. Im letzten Schritt schließt Finish die Installation ab.
- Wählen Sie Programme / TightVNC / Launch TightVNC Server (TightVNC Server starten). Sie sehen nun in der Taskleiste ein kleines Icon mit der Aufschrift X. Klicken Sie mit der rechten Maustaste darauf und wählen Sie Properties (Eigenschaften).
- Im Dialog WinVNC Current User Properties (Eigenschaften für den aktuellen Benutzer, Abbildung 7) sollten Sie vor allem ein sicheres Passwort eingeben. Der Eintrag unter Password (view only) enthält ein weiteres Kennwort, mit dem Sie den Desktop zwar sehen, jedoch keine Maus und Tastatureingaben ausführen können. Markieren Sie außerdem die Option Display und geben Sie in das Textfeld dahinter 0 ein. Im Test funktionierte die Übertragung nur, wenn das Kontrollkästchen Poll full screen aktiviert war.
- Nun müssen Sie noch die Windows-Firewall einstellen. Falls Sie die seit Service Pack 2 mit Windows ausgelieferte Firewall benutzen, öffnen Sie im Startmenü unter Einstellungen das Kontrollzentrum. Setzen Sie eine andere Firewall ein, schlagen Sie in der zugehörigen Dokumentation nach, wie Sie eine Netzwerkschnittstelle von der Überwachung ausnehmen. Bei der Windows-Firewall klicken Sie hierzu auf das Icon Windows-Firewall, das Sie in der Systemsteuerung unter Netzwerk- und Internetverbindung finden. Wählen Sie dann den Reiter Erweitert und deaktivieren Sie das Kontrollkästchen vor der Netzwerkverbindung, die Ihr lokales Netzwerk benutzt. Normalerweise ist dies Lokale Netzwerk-Verbindung 1

Abb. 7: Der VNC-Server unter Windows benötigt ein sicheres Passwort und einige Anpassungen der Standardeinstellungen.
Shake Hands
Um vom Windows-Rechner aus eine VNC-Verbindung aufzubauen, wählen Sie TightVNC / TightVNC Viewer (Fast Compression) aus dem Startmenü, wenn Sie Wert auf eine möglichst zügig reagierende Verbindung legen. TightVNC / TightVNC Viewer (Fast Compression) hingegen bietet eine bessere Bildqualität bei langsamerer Übertragung. Im Dialogfeld, das sich nun öffnet, geben Sie [IP-Adresse Linux-Rechner]:0 ein. Nach Eingabe des Passworts sollten Sie Ihren Linux-Desktop sehen und mit der Maus und der Tastatur bedienen können.
Für den Zugriff vom Linux-Rechner auf die Anzeige des Windows-Computers müssen Sie unter Windows den VNC-Server starten, falls er nicht bereits läuft (Programme / TightVNC / Launch TightVNC Server). Sie benötigen die IP-Adresse des Windows-Rechners. Um zu ermittelten, starten Sie eine Kommandozeile (Programme / Zubehör / Kommandozeile im Startmenü). Geben Sie ipconfig ein (Abbildung 8). Auf dem Linux-Rechner starten Sie dann krdc ([Alt-F2], Eingabe von krdc). Geben Sie im Feld Arbeitsfläche auf dem Fremdrechner [IP-Adresse Windows-Rechner]:0 ein und klicken Sie auf Verbinden. (pkr)

Abb. 8: Mit "ipconfig" ermittelten Sie die IP-Adresse des Windows-Computers. Sie benötigen diese zum Aufbau der VNC-Verbindung.
| Infos |
[1] Samba-Artikel: Marcel Hilzinger, "Samba neu aufgerollt", im gleichen Heft, S. 42 ff. --
auf der Jahres-CD
|
Auf der Heft-CD:
- Software zum Artikel auf CD: Cygwin/X für Windows, TightVNC
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.