Kiedy uruchamiam jakieś oprogramowanie za pomocą sudo
polecenia, pokazuje to błąd
cannot connect to X server
Na przykład, jeśli uruchomię następujące polecenie:
$ sudo gedit /etc/profile
Otrzymuję polecenie
(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.
Lub jeśli działam super-boot-manager
, pojawia się następujący błąd
buc: cannot connect to X server
Proszę pomóż.
super-boot-manger
?super-boot-manager
bezpośrednio z unun lunchera, to nie zadziałało. Potem wypróbowałem to z terminala, a potem dostałem masaż błędem.echo $DISPLAY
powiedzieć? Należy uruchomić go bezsudo
jakosuper-boot-manager
przebiegówsudo
wewnętrznie.echo $DISPLAY
daje:0.0
. I nie biegnęsuper-boot-manager
jaksudo
. Używam tylko poleceniasuper-boot-manager
z terminala.Defaults env_keep="DISPLAY XAUTHORITY"
na końcuvisudo
. Dzięki wszystkim, szczególnie @Thor za życzliwą pomoc.Odpowiedzi:
Musisz zezwolić użytkownikowi root na dostęp do serwera X:
I skieruj polecenie w prawo
DISPLAY
:źródło
gedit
jakosudo
, ale nadal nie można zjeść lunchusuper-boot-manager
. Pokazuje ten sam błądWreszcie problem został rozwiązany. Właśnie dodałem wiersz:
na końcu
visudo
.Aby to zrobić, musisz biec
otworzy plik, a następnie doda powyższą linię na końcu.
Dzięki wszystkim, szczególnie @Thor za życzliwą pomoc
źródło
Uzupełnienie odpowiedzi @ Thora:
Uruchom
xhost local:root
wcześniejsudo gedit
. Aby to zrobić na stałe, dodaj liniędo pliku ~ / .xinitrc 1 . Utwórz plik, jeśli nie istnieje.
[1] https://askubuntu.com/a/720120/452398
źródło