Hallo,
ich habe hier bei mir (Debian mit kde 3.1) folgenden Effekt:
Wenn ich im Konsolen-Fenster mich per su als root erhebe und dort versuche irgendein X-Programm zu starten bricht das ab mit:
Xlib: connection to ":0.0" refused by server
Die selben Programme als normaler User aus der Konsole starten funktioniert ohne Probleme. Auch wenn ich mich als root am kde Anmelde (es läugt übrigens kdm) funktioniert es. Nun will ich mich aber nicht jedes mal ummelden, nur weil ich mal ein Programm mit root-Rechten laufen lassen (z.b. synaptic) will.
Grüße aus Kamenz
Bernd Ledig
Bernd Ledig schrieb:
Xlib: connection to ":0.0" refused by server
Klar! Der Nutzer hat keine Rechte um ein Programm auf diesem X-Server zu starten!
Die selben Programme als normaler User aus der Konsole starten funktioniert ohne Probleme. Auch wenn ich mich als root am kde Anmelde (es läugt übrigens kdm) funktioniert es. Nun will ich mich aber nicht jedes mal ummelden, nur weil ich mal ein Programm mit root-Rechten laufen lassen (z.b. synaptic) will.
Dein Problem hat eine sehr einfache Lösung:
(als Nutzer mit dem du in KDE angemeldet hast):
xhost localhost
(als root):
export DISPLAY=localhost:0.0
Tschüß Luca Bertoncello (lucabert@lucabert.de)
Am Montag, 21. April 2003 19:24 schrieb Luca Bertoncello:
Bernd Ledig schrieb:
Xlib: connection to ":0.0" refused by server
Klar! Der Nutzer hat keine Rechte um ein Programm auf diesem X-Server zu starten!
Die selben Programme als normaler User aus der Konsole starten funktioniert ohne Probleme. Auch wenn ich mich als root am kde Anmelde (es läugt übrigens kdm) funktioniert es. Nun will ich mich aber nicht jedes mal ummelden, nur weil ich mal ein Programm mit root-Rechten laufen lassen (z.b. synaptic) will.
Dein Problem hat eine sehr einfache Lösung:
(als Nutzer mit dem du in KDE angemeldet hast):
xhost localhost
(als root):
export DISPLAY=localhost:0.0
Die etwas komfortablere Lösung wäre ein Eintrag in die Datei .bashrc von root (im Ordner /root) <---------------- schnipp --------------------------> # die DISPLAY-Variable setzen, damit bei Nutzung von "su" # auch mit X-Programmen gearbeitet werden kann if [ $DISPLAY ] ; then su $LOGNAME -c " xauth extract - $DISPLAY" | xauth merge - fi; <---------------- schnapp -------------------------->
Zur Erläuterung: 1. root wechselt seine Identität zu $LOGNAME (der Login-Name) 2. Nun extrahiert xauth aus der Datei .Xauthority des Benutzers den Schlüssel für den Zugriff auf den Desktop des Benutzers 3. der Schlüssel wird in die Datei .Xauthority von root hinzugefügt. ==> Root darf nun auf den Desktop des Benutzers zugreifen
Dieses Verfahren ist etwas sicherer als die Variante "xhost localhost", weil nur root Zugriff auf den Desktop bekommt und nicht jeder auf dem Rechner eingeloggter User.
Einen schönen Ostermontag noch
Jens Weiße
Hallo Bernd,
vor dem su-Kommando erst mal das display :0 mit "xhost +localhost" für andere Nutzer freigeben, aber zum Schluß auch mit "xhost -localhost" die Freigabe zurücknehmen. Genauere Erklärung liefert "man xhost"
Viel Erfolg Uwe
Am Montag, 21. April 2003 18:22 schrieb Bernd Ledig:
Hallo,
ich habe hier bei mir (Debian mit kde 3.1) folgenden Effekt:
Wenn ich im Konsolen-Fenster mich per su als root erhebe und dort versuche irgendein X-Programm zu starten bricht das ab mit:
Xlib: connection to ":0.0" refused by server
On Mon, 21 Apr 2003 19:25:10 +0200 Uwe Kietzmann u.kietzmann@arcor.de wrote:
Hallo Bernd,
vor dem su-Kommando erst mal das display :0 mit "xhost +localhost" für andere Nutzer freigeben, aber zum Schluß auch mit "xhost -localhost" die Freigabe zurücknehmen. Genauere Erklärung liefert "man xhost"
Funktioniert bestens.
Danke
Bernd Ledig
Am Montag, 21. April 2003 18:22 schrieb Bernd Ledig:
Hallo,
ich habe hier bei mir (Debian mit kde 3.1) folgenden Effekt:
Wenn ich im Konsolen-Fenster mich per su als root erhebe und dort versuche irgendein X-Programm zu starten bricht das ab mit:
Xlib: connection to ":0.0" refused by server
Die selben Programme als normaler User aus der Konsole starten funktioniert ohne Probleme. Auch wenn ich mich als root am kde Anmelde (es läugt übrigens kdm) funktioniert es. Nun will ich mich aber nicht jedes mal ummelden, nur weil ich mal ein Programm mit root-Rechten laufen lassen (z.b. synaptic) will.
Grüße aus Kamenz
Bernd Ledig
Wenn du die Konsole nicht unbedingt als stdout/stderror brauchst, macht es auch der Befehl kdesu. Beispiel für dein Programm: kdesu synaptic
Götz
Am Montag, 21. April 2003 18:22 schrieb Bernd Ledig:
Hallo,
ich habe hier bei mir (Debian mit kde 3.1) folgenden Effekt:
Wenn ich im Konsolen-Fenster mich per su als root erhebe und dort versuche irgendein X-Programm zu starten bricht das ab mit:
Xlib: connection to ":0.0" refused by server
Als root: export DISPLAY=:0 export XAUTHORITY=~<x11user>/.Xauthority
Danach funktioniert es bei mir.
-Gregor
lug-dd@mailman.schlittermann.de