当前位置: 首页>>技术教程>>正文


display – 使用 sudo 运行应用程序时无法连接到 X 服务器

, ,

问题描述

当我使用 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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13343.html,未经允许,请勿转载。