PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : grafische Fernsteuerung von Programmen und PC's



mightymike99
23.08.02, 03:44
***** Grafische Ausgaben im Netzwerk *****

- Wie_bekommt man ein Fenster(xterm, kde etc.) von einem remote PC auf dem
lokalen PC dargestellt?
- Geht das auch unter Windows?
- Alternative VNC/TightVNC
- Weitere Informationen

==================================================

Wie bekommt man ein Fenster (xterm, kde-Desktop, etc.) von einem remote PC auf
dem lokalen PC dargestellt?

Wenn euer Rechner unter einem Betriebssystem der Unix-Familie läuft, dann müsst
Ihr euer lokales Display(X-Server) erst freischalten. Dazu müsst Ihr euch mit
dem user der sich an der Oberfläche angemeldet habt ein Terminal aufmachen und
den folgenden Befehl eingeben:

$ xhost +Rechnername

Das erlaubt dem Computer mit Rechnername angegeben Fenster auf eurem lokalen
Display(X-Server) zu öffnen. Es kann auch die IP des Computers sein. Lasst Ihr
den Rechnernamen weg, darf jeder beliebige Rechner das. Wenn ihr das unter
einem anderen Nutzer als dem angemeldeten macht, funktioniert das nicht, auch
nicht als root!

Jetzt meldet Ihr euch mit telnet/rsh/rlogin/ssh bei dem Remoterechner an. Dazu
ist noch zu sagen das neue *n*x-Betriebssysteme eigentlich alle ssh-deamons
mitinstallieren, so das der Sicherheit wegen nur noch ssh in Frage kommt.
Dann muß die DISPLAY-Variable auf das zuvor freigeschaltete Display gesetzt
werden:

export DISPLAY=MyLocalPC:0.0

Wobei MyLocalPC der Rechnername oder die IP-Adresse des Ausgabe-Displays sind.
Bei Rechnernamen muss natuerlich gewaehrleistet sein das der Hostname zur IP-
Adresse aufgeloest werden kann durch /etc/hosts, NIS oder DNS. Die erste 0
hinter dem Doppelpunkt gibt den zu benutzenden X-Server(es gibt in der Regel
nur einen) auf diesem Rechner an und muß angegeben werden. Die zweite 0 gibt
die zu verwendete Grafikkarte an und ist zusammen mit dem voranstehenden Punkt
optional.

Jetzt koennt Ihr ohne weiteres die entsprechende Anwendung starten.

==================================================

Geht das auch unter Windows?

Da Windows von sich aus XDMCP(X-Display Manager Controll Protocol)nicht
unterstützt muß eine Zusatzsoftware installiert werden.
Da gibt's einmal die Portierung vom XFree86 Project die z. Zt. von Cygwin
realisiert wird(GPL) und die soll ganz gut funktionieren. Zu finden unter der
URL www.cygwin.com/xfree/. Das Programm xwinclip, das auch dort zu finden ist,
erlaubt die gemeinsame Nutzung der Zwischenablage.

Zwei kleine Nachteile hat XFree im Moment noch gegenüber den kommerziellen
Servern:

* Es ist langsamer(Hummingird ist der schnellste)
* Es läuft nur im root-Mode, d. h. ein grosses Fenster indem alle X-Windows
eingeblendet werden, Vollbildmodus möglich; an einer Rootless Methode
wird gearbeitet

Kommerzielle X-Server unter Windows sind meistens sehr teuer. Hier noch eine
Auswahl weiterer Produkte.

* HOB(www.hob.de)
* Hummingbird(www.hummingbird.com)
* X-Win32 von starnet(www.starnet.com)
* MicroImages(www.microimages.com/mix), eher ein Einsteigerprodukt
* Aelterer kostenloser X-Server von MicroImages bei Vobis(http://
www.vobis.de/bbs/firmen/pconline/w9x/mix.exe). Ein Artikel im LinuxNetMag
(http://www.linuxnetmag.com/de/issue5/m5xserver1.html) erzaehlt da was
zur Konfiguration von MI/X, es läuft aber auch ohne irgendeine
Einstellung.
* WeirdX von JCraft(http://www.jcraft.com/weirdx). Ein auf Java basierender,
unter GPL stehender XServer für einfache Anwendungen. Erfreulich ist das kein
WindowManager dabei ist und sich jeder den aussuchen kann, den er gerne
möchte. Mit fvwm(1+2) hatte ich keine Probleme. KDE ist auch gelaufen
aber hier hat die Maus etwas Probleme da ich teilweise Schaltflächen
nicht anklicken konnte. Die Icons auf dem Desktop konnte ich auch nicht
verwenden. Er unterstuetzt den Rootless-Mode
* Xmanager(http://www.xmanager.de), günstig und leistungsfähig;

==================================================

Alternative VNC

VNC ist ein kleines Software-Paket(GPL) mit einem Client- und einem
Serverprogramm mit dem man den Desktop des remote PC's ansehen kann. Es ist
kein X-Server da es zur Netzwerkkommunikation sein eigenes Protokoll mitbringt.
Es läuft also nur immer der eigene VNC-Server mit dem eigenen VNC-Client
Programm zusammen.

Das Programm ermöglicht direkt den Desktop eines Windows PC's anzuschauen von
einem anderen Windows Rechner, oder Linux oder von sonst noch so einigen
Betriebssystemen. Bei *n*x Betriebsystemen startet es einen neuen X-Server auf
der Remote-Maschine und stellt diesen dann für Clients zur Verfügung. Aus
meiner Sicht ist der Primäre Einsatz von VNC dort wo kein vernünftiger X-Server
vorhanden ist(*n*x->Windows) oder generell für die Steuerung von Windows
Rechner aus *n*x-Betriebssystemen heraus. VNC ist für viele Plattformen
verfügbar.

VNC gibt's hier: http://www.uk.research.att.com/vnc. Bei SuSE ist sowohl Linux
als auch Windows-Version auf den Installations CD's mit drauf.

Zur Konfiguration:

Der VNC-Server hat eine Initialisierungsdatei die er beim ersten Aufruf anlegt,
meine sieht für KDE so aus:

#!/bin/bash
export DISPLAY=:5
xrdb $HOME/.Xresources
/opt/kde2/bin/startkde &

Am besten man startet den vncserver mit einer höheren DISPLAY Nummer das mit
lokalen Anwendungen kein Konflikt entsteht. Also für DISPLAY=:5 ruft man den
Server so auf:

vncserver :5

Es gibt noch viele weitere Optionen, eine erwähnenswerte ist die Einstellung
der Auflösung mit dem Schalter -geometry. Erwähnenswert ist vielleicht auch
noch das das herumexperimentieren damit meinen Linux-Rechner(SuSE 7.3) ein paar
Mal zum Absturz gebracht hat. Auch musste ich meinen lokalen X-Server mal neu
starten weil er hing. Vermutlich kommt die KDE durch das mehrmalige starten da
etwas in Verwirrung.

VNC und Sicherheit

Der VNC-Server wird durch Passwort geschützt welches durch ein bestimmtes
Verfahren(Challenge/Response) überprüft, aber nicht unverschlüsselt übertragen
wird. Danach werden die Daten zwischen vncserver und -client unverschlüsselt
übertragen. Wem das zu riskant ist, der kann sich auf der oben genannten Seite
von VNC die FAQ durchlesen, hier ist u. a. die Nutzung von VNC über ssh
beschrieben.

Alternativer Client

Der VNC-Server lässt sich auch ueber einen Java-fähigen Browser fernsteuern,
näheres in der VNC-Dokumentation.

Noch mehr VNC: TightVNC

Es gibt eine Weiterentwicklung von VNC: ==TightVNC== Erweiterungen, Optimierungen,
Fehlerkorrekturen, Verbesserungen bietet das Projekt. Natürlich ist es voll kompatibel zum
dem vorgestellten VNC und steht ebenso unter GPL. TightVNC ist zu finden unter:
http://www.tightvnc.com/

==================================================

Weitere Informationen

* Ein Artikel von Guide Socher zum Thema X11 und Transparente Grafikausgabe
im Unixnetzwerk: http://www.linuxfocus.org/Deutsch/January2002/article222.shtml
* Pro-Linux: Eine Cygwin Umgebung unter Windows einrichten:
http://www.pl-berichte.de/t_system/cygwin.html

Fuer Fragen und Anregungen bin ich natuerlich immer offen.

Tobias Unsleber