每当我使用 sudo 命令在终端中打开 gedit、nautilus 和其他文件时,都会收到错误 -->
Unable to init server: Could not connect: Connection refused
(gedit:22993): Gtk-WARNING **: cannot open display: :0
该startx
命令和更改 gnome 主题(例如 Wayland、Xorg)对于此错误也不起作用
答案1
您的解决方案是简单地使用gnomesu
而不是sudo
.如所写这里,
这是一个正常的安全问题。您有一个多用户系统,许多用户可以在 GUI 会话中本地或远程登录。如果其他登录的人无需您的允许就能够打开您桌面上的窗口怎么办?至少不方便,但他们也可以创建一个窗口,以便他们可以读取你所有的键盘输入,包括你的银行账户。因此需要给予补贴
xhost
。
有多种方法可以实现此目的,但这是最简单的方法,因此我建议您这样做。如果你想使用普通的 sudo (因为我不知道什么原因),你可以做一个更改这问题。
尝试
xhost +localhost
在终端中运行,然后再次运行 sudo。这允许系统上的所有用户(即 root)在您的屏幕上打开窗口。确保使用+localhost
而不是简单地使用+
,因为仅允许来自本地主机的连接比来自任何地方的连接更安全。要使其永久化,请像这样编辑 ~/.xinitrc 文件:
跑步
gedit ~/.xinitrc
编辑文件如下所示(开始时应该为空):
#!/bin/bash
xhost +localhost &
现在保存文件,注销并登录。现在使用 sudo 一切都应该运行得很好。