SuSE Support-Datenbank

Titel: Fehler beim Starten von X-Applikationen

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel ---

Fehler beim Starten von X-Applikationen

Symptom:

Sie loggen sich via xlogin und xdm als Benutzer A ein und möchten als Benutzer B (z.B. als root, siehe auch http://www.suse.de/sdb/de/html/perms.html) ein Programm unter X starten.

Sie erhalten dann folgende Fehlermeldung:

Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
Error: Can't open display: :0.0
Danach bricht das Programm ab.

Ursache:

Unter X darf zuerst einmal prinzipiell nur der Benutzer auf ein Display zugreifen, der X gestartet hat.

Dabei handelt es sich um einen Sicherheitsmechanismus im X Window System. Dieser Mechanismus schützt Sie vor unerwünschtem Mitlesen Ihres Displays durch andere Benutzer oder durch fremde Systeme, da X Window System netzwerkfähig bzw. netzwerktransparent ist.

Ohne den Schutzmechanismus kann jeder Benutzer auf der lokalen Maschine wie auch jeder Fremde via Ethernet Ihr Display online mitlesen und so z.B. Ihr Passwort erfahren oder andere vertrauliche Informationen ausforschen.

Durch den o.g. Mechanismus wird das verhindert. Sie finden mehr Information über diesen Schutzmechanismus in der Manual-Seite Xsecurity (Aufruf: man Xsecurity).

Lösung:

Jeder Benutzer kann anderen Benutzern generell das Mitbenutzen seines Displays erlauben. Dazu sind zwei Mechanismen vorgesehen. Der erste ist ein sehr schneller, aber auch etwas unsicherer Schalter:
xhost +localhost
statt localhost kann auch jeder andere Rechner zugelassen werden. Dabei dürfen alle Benutzer von diesem Rechner auf das Display zugreifen, d.h. eine Eingrenzung des erlaubten Benutzerkreises ist so nicht möglich.

Weitaus sicherer ist das direkte Setzen des Schlüssels zum Display wie es in der Manual-Seite xauth (Aufruf: man xauth) genau erläutert wird. So kann der Display-Besitzer den Schlüssel mittels

xauth list :0
oder
xauth list `hostname`:0
auslesen und ein zweiter Benutzer einen solchen Schlüssel mit
xauth add <SCHLÜSSEL>
Wobei <SCHLÜSSEL> eine der oben mit xauth list ausgegebenen Zeilen ist.

Natürlich können auch Schlüssel anderer Displays mittels xauth ausgelesen werden und gesetzt werden. In der Regel wird aber das lokale Display entweder mit

:0
oder für Zugriff von einem fremdem Rechner aus mit
<RECHNERNAME>:0
angesprochen. Im ersten Fall wird das Display lokal angesprochen, im zweiten Fall über eine Neztverbindung (z.B. Ethernet) zum Rechner mit dem Namen <RECHNERNAME>.

Falls Sie ein anderes Display als :0 oder von einer anderen Maschine aus arbeiten, müssen Sie immer auch das Display korrekt setzten. Für eine bash oder jede andere bourne-shell lautet der Befehl:

DISPLAY=<RECHNERNAME>:<NUMMER>
export DISPLAY
für die tcsh oder eine csh:
setenv DISPLAY <RECHNERNAME>:<NUMMER>
dabei ist <RECHNERNAME> der Rechnername und <NUMMER> die Displaynummer.

---

Stichwörter: XHOST, XAUTH, DISPLAY, X-SERVER, XFREE, XDM, STARTX, XLIB

---

Kategorien: X-Applikationen

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel ---

SDB-maddin_xhost, Copyright SuSE GmbH, Nuremberg, Germany - Version: 09. Jun 1997
Impressum - Zuletzt generiert: 15. Mar 1999 16:01:02 by tg with sdb_gen 1.00.0