![]() |
|
||||||||||||||||||||
|
|||||||||||||||||||||
|
|||||||||||||||||||||
von Hans-Georg Eßer
Nutzen Sie mehrere PCs unter Linux? Dann haben Sie bestimmt ein kleines LAN, also ein lokales Netzwerk, eingerichtet. Dieses Netzwerk können Sie nicht nur nutzen, um sich mit allen Rechnern eine Internet-Verbindung zu teilen, Sie können auch die Rechenleistung weiterer (vielleicht gerade ungenutzter) PCs ausnutzen und einige Programme nicht am aktuellen Arbeitsplatz, sondern auf einem der übrigen PCs starten.
Man muss nur wissen, wie es geht. Erste Voraussetzung ist, dass Sie einen zweiten Linux-PC über das Netzwerk erreichen können -- dazu benötigen Sie seine IP-Adresse, die in lokalen Netzen oft die Form 192.168.x.y hat. Für die folgenden Beispiele gehen wir davon aus, dass Sie am PC mit der IP-Adresse 192.168.1.1 sitzen und der zweite Rechner die Adresse 192.168.1.2 hat. Wenn Sie Ihren Rechnern auch Namen gegeben haben, verwenden Sie statt der IP-Adressen die (einfacher zu merkenden) Namen.
Prüfen Sie zuerst, ob Sie den entfernten Rechner wirklich erreichen können. Dazu öffnen Sie mit [Alt-F2] und Eingabe von konsole ein Terminal-Fenster, in dem Sie den Befehl
ping 192.168.1.2
eingeben. Sie sollten eine Ausgabe der folgenden Form erhalten:
$ ping 192.168.1.2 PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data. 64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.409 ms 64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.373 ms 64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.361 ms [Strg-C] --- 192.168.1.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 0.361/0.381/0.409/0.020 ms
Nach einigen Zeilen drücken Sie [Strg-C], um die Ausgabe von ping zu beenden -- es erscheinen dann noch die Statusinformationen der letzten drei Zeilen.
Wenn das klappt, bauen Sie mit ssh [1] eine Verbindung zum entfernten Rechner auf. Dabei verwenden Sie die Option -X, mit der Sie die Unterstützung für das Ausführen von grafischen Programmen auf dem Zielrechner aktivieren -- das ganze nennt sich X-Weiterleitung oder auf Englisch "X forwarding". Wichtig ist, dass Sie ein großes "X" eingeben; mit einem kleinen "x" erreichen Sie genau das Gegenteil, die X-Weiterleitung funktioniert dann nicht.
esser@sony:~$ ssh -X 192.168.1.2 Password: ..... Last login: Mon Sep 13 12:48:27 2004 from server Have a lot of fun... esser@server:~$ _
Jetzt sind Sie auf dem Zielrechner angemeldet, wie Sie am veränderten Shell-Prompt (mit dem Namen des zweiten Rechners) erkennen. Sie können nun ein grafisches Programm aufrufen, z. B. den Web-Browser Mozilla. Dazu geben Sie den Befehlsnamen einfach so ein, wie Sie das auch in der "lokalen" Shell tun würden.
Nach kurzer Zeit erscheint das Programmfenster auf Ihrem Desktop (Abbildung 1). Das Programm selbst läuft aber nicht auf Ihrem Arbeitsrechner, sondern auf dem zweiten PC -- deswegen ist (je nach Qualität und Auslastung des lokalen Netzwerks) die Geschwindigkeit beim Aktualisieren des Fensterinhalts etwas niedriger als beim lokalem Arbeiten.
Die Funktionalität der Programme ist aber davon nicht betroffen: Dem Programm ist es egal, auf welchem Rechner es sein Fenster öffnet.
| Geht nicht? Probleme mit der X-Weiterleitung |
|
Bekommen Sie beim Start eine Fehlermeldung der Form "Error: Can't open display:"? Dann ist der entfernte Rechner vermutlich so konfiguriert, dass er die Weiterleitung für das X-Protokoll unterbindet. Das ist in der Datei /etc/ssh/sshd_config geregelt. Öffnen Sie auf dem entfernten Rechner (!) mit Root-Rechten (z. B. über [Alt-F2], kdesu kwrite /etc/ssh/sshd_config und Eingabe das Root-Passworts) diese Datei und suchen Sie nach einem Eintrag der Form X11Forwarding no In dieser Zeile ändern Sie "no" zu "yes", also X11Forwarding yes und speichern die Datei. Danach muss der SSH-Server auf dem entfernten Rechner neu gestartet werden -- das geht nur über die Shell: Öffnen Sie mit [Alt-F2] und konsole ein Terminal-Fenster und geben Sie die folgenden Befehle ein: $ su Password: # /etc/init.d/sshd restart sshd stoppen: [ OK ] sshd starten: [ OK ] # exit $ (Unter SuSE Linux können Sie statt des langen zweiten Befehls auch rcsshd restart eingeben.) Danach sollte die X-Weiterleitung funktionieren. |
Anders als bei VNC [2] wird hier keine bereits laufende Sitzung dupliziert. Die Programmfenster, die Sie über die X-Weiterleitung öffnen, erscheinen also nur auf Ihrem Rechner und nicht gleichzeitig auf dem entfernten Rechner, der das Programm ausführt.
Es ist allerdings auch möglich, nicht nur ein einzelnes Programm, sondern den gesamten Desktop auf dem entfernten Rechner laufen zu lassen. Das nennt man Terminal-Modus -- der Rechner, an dem Sie sitzen, heißt dann Terminal oder "Thin Client", und schon der grafische Login-Dialog ist ein Programm, das auf dem entfernten Rechner läuft. Im Normalfall wird Ihr Rechner aber kein Terminal, sondern ein vollwertiger Rechner sein.
Besonders nützlich ist das entfernte Ausführen von Programmen, wenn es im lokalen Netz nur einen CD-/DVD-Brenner gibt: Die Daten, die auf die CD sollen, kann man bequem mit dem Konqueror auf den anderen Rechner übertragen (dazu verwendet man das Fish-Protokoll [3]), dann startet man auf dem entfernten Rechner das Brennprogramm, z. B. K3B [4] oder X-CD-Roast [5] (Abbildung 2). Lediglich zum Einlegen der CD/DVD muss man zum zweiten Rechner gehen, und das kann in der Firma auch gleich der Kollege erledigen, der dort arbeitet -- im heimischen Netzwerk sollten die Wege eh nicht allzu lang sein.
Das X Window System, dessen Features hier verwendet werden, gibt es nicht nur für Linux. Es ist ein Unix-Klassiker, den auch alle anderen Unix-Systeme wie z. B. Sun Solaris und die BSDs verwenden -- interessanter sind aber die beiden großen Desktop-Betriebssysteme Windows und MacOS X.
Das Apple-Betriebssystem verwendet einen BSD-Kernel und ist damit ohnehin mit Linux verwandt. Kein Wunder also, dass MacOS X in aktuellen Versionen auch gleich einen X-Server mitbringt. Damit kann man aktuelle Macs, etwa die neuesten Power- und iBooks oder iMacs problemlos zur Fernsteuerung eines Linux-PCs einsetzen (Abbildung 3). Umgekehrt geht es leider nicht, da die meisten MacOS-Programme keine X-Programme sind -- hier hilft aber VNC [2] weiter.
Windows hat mit Unix/Linux wenig zu tun, aber auch für Windows gibt es X-Server. Ist der Hauptarbeitsrechner also eine Windows-Maschine, kann man das gelegentliche Aufrufe von Linux-Tools auch bequem vom Windows-PC aus erledigen, dazu muss man nur einen X-Server für Windows nachinstallieren [6], z. B. Exceed [7,8] (Abbildung 4).
In vielen Fällen hat man die Wahl zwischen X und VNC. Warum sollte man sich für die eine oder andere Variante entscheiden?
Mit VNC holen Sie sich den kompletten Desktop eines anderen Rechners auf den eigenen Bildschirm. Das erlaubt z. B. das gemeinsame Bearbeiten eines Dokuments, wenn an beiden Rechnern Anwender sitzen. Support-Personal in der Firma schätzt dieses Feature auch, weil der Anwender mit einem Problem gleich live vorführen kann, was nicht richtig funktioniert. Schließlich ist z. B. beim Wunsch, einen Windows-Rechner fernzusteuern, VNC die einzige Möglichkeit.
Bei der X-Weiterleitung führen Sie Programme vom (und auf dem) entfernten Rechner aus, ohne den dortigen Desktop zu blockieren. So kann man an beiden PCs unabhängig weiter arbeiten. Außerdem ist die X-Verbindung schneller als VNC, was vor allem bei langsamen Netzwerken (z. B. 11-MBit-Funknetze) eine Rolle spielt.
Wie so oft gibt es viele Möglichkeiten, das Ziel zu erreichen. Wählen Sie einfach die für Sie passendste aus. (hge)
| Infos |
|
[1] SSH-Artikel: Elisabeth Bauer, "Fernbedienung", EasyLinux 11/2003, S. 72, http://www.easylinux.de/Artikel/ausgabe/2003/11/072-guru-ssh/
[2] VNC-Artikel: Heike Jurzik, "Fernsteuerung", EasyLinux 11/2004 (diese Ausgabe), S. 48 [3] WinSCP und Fish: Heike Jurzik, "Richtig verbunden", EasyLinux 11/2003, S. 18, http://www.easylinux.de/Artikel/ausgabe/2003/11/018-winscp/ [4] K3B-Artikel: Heike Jurzik, "Allesbrenner", EasyLinux 05/2004, http://www.easylinux.de/Artikel/ausgabe/2004/05/016-k3b/ [5] X-CD-Roast-Artikel: Karsten Günther, "Xcdroast", LinuxUser 05/2001, S. 20, http://www.linux-user.de/ausgabe/2001/05/018-xcdroast/xcdroast.html [6] X-Server unter Windows: Hans-Georg Eßer, "Windows wie Linux", EasyLinux 10/2004, S. 46, http://www.easylinux.de/Artikel/ausgabe/2004/10/046-windows/ [7] Exceed-Artikel: Hans-Georg Eßer, "X-Server für Windows", LinuxUser 11/2002, S. 33, http://www.linux-user.de/ausgabe/2002/11/033-x-server/ [8] Exceed: http://connectivity.hummingbird.com/products/nc/exceed/index.html |
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 |
© 2012 Linux New Media AG |
Last modified: 2007-01-25 17:27
[Linux-Magazin]
[LinuxUser]
[Linux-Community]
[Admin-Magazin]
[Ubuntu User]
[Smart Developer]
[Linux Events]
[Linux Magazine]
[Ubuntu User]
[Admin Magazine]
[Smart Developer]
[Linux Magazine Poland]
[Linux Community Poland]
[Linux Magazine Brasil]
[Linux Magazine Spain]
[Linux Technical Review]