Wenn ich eine Software mit einem sudo
Befehl starte, wird ein Fehler wie angezeigt
cannot connect to X server
Zum Beispiel, wenn ich den folgenden Befehl ausführe:
$ sudo gedit /etc/profile
Ich bekomme folgenden Befehl
(gedit:6758): WARNING **: Command line `dbus-launch --autolaunch=84b871d735f31ffe014dc9ba00000009 --binary-syntax --close-stderr'
exited with non-zero exit status 1:
Autolaunch error: X11 initialization failed.
Cannot open display:
Run 'gedit --help' to see a full list of available command line options.
Oder wenn ich laufe bekomme super-boot-manager
ich folgende Fehlermeldung
buc: cannot connect to X server
Bitte helfen Sie.
super-boot-manger
?super-boot-manager
direkt von Unity Luncher zu laufen , es hat nicht funktioniert. Dann habe ich es am Terminal ausprobiert, dann habe ich diese Fehlermeldung bekommen.echo $DISPLAY
sagen? Sie sollten es ohne laufensudo
wiesuper-boot-manager
läuftsudo
intern.echo $DISPLAY
gibt:0.0
. Und ich laufe nichtsuper-boot-manager
alssudo
. Ich benutze nur den Befehlsuper-boot-manager
vom Terminal.Defaults env_keep="DISPLAY XAUTHORITY"
am Ende vonvisudo
. Vielen Dank an alle, speziell @Thor für freundliche Hilfe.Antworten:
Sie müssen dem Root-Benutzer Zugriff auf den X-Server gewähren:
Und weise den Befehl nach rechts
DISPLAY
:quelle
gedit
wiesudo
, aber immer noch nicht zu Mittag essensuper-boot-manager
. Es zeigt den gleichen FehlerEndlich ist das Problem gelöst. Ich habe gerade die Zeile hinzugefügt:
am Ende von
visudo
.Um das zu tun, musst du rennen
Es öffnet die Datei und fügt am Ende die obige Zeile hinzu.
Vielen Dank an alle, speziell @Thor für freundliche Hilfe
quelle
Ergänzung @ Thors Antwort:
Laufen Sie
xhost local:root
vorhersudo gedit
. Um dies dauerhaft zu machen, fügen Sie die Linie hinzuin die Datei ~ / .xinitrc 1 . Erstellen Sie die Datei, wenn sie nicht vorhanden ist.
[1] https://askubuntu.com/a/720120/452398
quelle