linux-l: Probleme mit xhost

Guntram Trebs gunni at mathematik.hu-berlin.de
Mi Apr 25 20:54:29 CEST 2001


Hi,

Deine zeilen sind zu lang.

On Wed, 25 Apr 2001, Martin Amberg wrote:

> Hallo,
> ich hab da ein kleines Problem auf meinem Debian 2.3. Wenn ich in
> meinem xterm xhost + und mich dann per telnet auf einen anderen rechner
> gehe und von dort versuche z.B. eine emacs zu starten gibt es immer nur
> diese Fehlermeldung.

> emacs: Cannot connect to X server zwerg:0.0.

Ist zwerg der Rechner, auf dem xemacs läuft oder auf dem xemacs angezeigt
werden soll. ( korrekt wäre zweite Variante )

> Diesen Problem tritt nur mit telnet auf, bei ssh z.B. geht alles und es
> tritt nur bei meinen Debian rechnern auf. z.B. bei einem Solaris klappt
> es ohne Probleme. Ich denke da ist irgend ein Prblem bei
> Debian. Vielleicht hat ja jemand einen Tip fuer mich.

Angenommen, ich sitze an Rechner apfel und teleportiere mich auf Rechner
birne.

Dann kann ich auf Rechner birne das Kommando

xterm --display apfel:0.0

eingeben, um ein xterm zu bekommen, was auf birne läuft und 
auf apfel angezeigt wird.

Statt xterm funktioniert diese Syntax auch mit vielen anderen
x-Programmen.

Alternativ kann ich die Shellvariable DISPLAY setzen, muß darauf achten,
daß sie exportiert wird. In der bash also:

export DISPLAY=apfel:0.0

Das funktioniert normalerweise sowohl mit ssh, als auch mit telnet
und sogar, wenn sich jemand anderes auf birne einloggt und das macht.

Voraussetzung ist dafür, daß die Verbindung übers Netz zustande kommt
und daß der X-Server auf apfel die Verbindung zuläßt.

Sprich:
 - eine Firewall oder Router zwischendrin müssen die Pakete durchlassen
 - der Rechner darf die Pakete nicht ablehnen
 - der X-Server muß mit xhost entsprechend angewiesen werden

xhost +    ist zum Testen gut, sollte später aber nicht mehr benutzt
werden.

In der man-page von xhost stehen in der files-Section bei mir
/etc/X*.hosts

Tipp einfach mal ein:

locate hosts | grep hosts$


rhosts und shosts haben nur mit rlogin/slogin/ssh was zu tun, aber das
klappt ja bei Dir.


Der Mechanismus über ssh (X-Forwarding) funktioniert ein bisschen anders.

Wenn Du Dich von apfel auf birne mit ssh einloggst wird bei X-Forwarding
ein virtueller X-Server auf _birne_ installiert. Der ist meistens
ansprechbar über birne:10.0, also z.B.

xterm --display birne:10.0

Dieser virtuelle X-Server reicht einfach die Daten über die ssh-Verbindung
durch auf den Rechner apfel und gibt sie dort lokal an apfel:0.0 weiter
und gibt die Daten andersrum (über ssh) wieder zurück.

Wenn also eine Firewall alles außer ssh blockt, kannst Du über 
birne:10.0  noch arbeiten, über
apfel:0.0   aber nicht mehr.


OK. Das war's erstmal,

prüfe, daß Du den richtigen Rechner angibst, teste ob das ganze lokal auf
dem Rechner funktioniert, auf dem alles angezeigt werden soll, sprich mit
Deinem Netzwerkadministrator, ...




Mehr Informationen über die Mailingliste linux-l