问题描述
当我使用 sudo
命令运行某些软件时,它显示如下错误
cannot connect to X server
例如,如果我运行以下命令:
$ sudo gedit /etc/profile
我收到以下命令
(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.
或者,如果我正在运行 super-boot-manager
,我会收到以下错误
buc: cannot connect to X server
请帮忙。
最佳办法
您需要允许 root 用户访问 X 服务器:
xhost local:root
并将命令指向右侧 DISPLAY
:
sudo DISPLAY=$DISPLAY gedit /etc/profile
次佳办法
终于问题解决了。我刚刚添加了以下行:
\\n
Defaults env_keep=”DISPLAY XAUTHORITY”
\\n
在 visudo
的末尾。
为此,您必须运行
\\n
sudo visudo
\\n
它将打开文件,然后在末尾添加上面的行。
感谢所有人,特别是@Thor 的帮助
第三种办法
补充@Thor的回答:
在 sudo gedit
之前运行 xhost local:root
。要使其永久化,请添加行
xhost local:root
到文件 ~/.xinitrc 1. 如果文件不存在,则创建该文件。
[1] https://askubuntu.com/a/720120/452398