Apu*_*rba 35 display sudo xserver
当我使用sudo
命令运行某些软件时,它显示如下错误
cannot connect to X server
Run Code Online (Sandbox Code Playgroud)
例如,如果我运行以下命令:
$ sudo gedit /etc/profile
Run Code Online (Sandbox Code Playgroud)
我收到以下命令
(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.
Run Code Online (Sandbox Code Playgroud)
或者,如果我正在运行,则会super-boot-manager
出现以下错误
buc: cannot connect to X server
Run Code Online (Sandbox Code Playgroud)
请帮忙。
Tho*_*hor 50
您需要允许 root 用户访问 X 服务器:
xhost local:root
Run Code Online (Sandbox Code Playgroud)
并将命令指向右侧DISPLAY
:
sudo DISPLAY=$DISPLAY gedit /etc/profile
Run Code Online (Sandbox Code Playgroud)
Apu*_*rba 18
终于问题解决了。我刚刚添加了以下行:
默认值 env_keep="DISPLAY XAUTHORITY"
在visudo
.
要做到这一点,你必须运行
须藤
它将打开文件,然后在最后添加上面的行。
感谢所有人,特别是@Thor 的帮助
小智 5
补充@Thor 的回答:
xhost local:root
之前运行sudo gedit
。要使其永久化,请添加行
xhost local:root
Run Code Online (Sandbox Code Playgroud)
到文件 ~/.xinitrc 1。如果文件不存在,则创建该文件。
[1] https://askubuntu.com/a/720120/452398