突然间,gksu 对我来说停止了工作:
~$ gksu gparted
(gpartedbin:24252): Gtk-WARNING **: cannot open display: :0
同样的情况也发生在gparted-pkexec
:
~$ gparted-pkexec
No protocol specified
(gpartedbin:25454): Gtk-WARNING **: cannot open display: :0
这可能是什么原因造成的?
我没有通过 SSH 或 VNC 运行它。这是 localhost 中的普通的终端窗口。
答案1
如果运行的是 Ubuntu 17.10 或更高版本,当应用程序未更新以完全支持 Wayland 时,可能会出现此问题。在应用程序更新之前,您可以运行以下解决方法:
xhost +SI:localuser:root
这将允许root
用户在您的桌面上显示应用程序。另请参阅此问答以了解其他可能的解决方法:为什么 gksu/gksudo 或使用 sudo 启动图形应用程序不能与 Wayland 一起使用?
答案2
尝试xhost +localhost
在终端中运行,然后再次运行该命令。这样系统上的所有用户(即 root)都可以在屏幕上打开窗口。请确保使用 +localhost 而不是简单的 +,因为仅允许来自 localhost 的连接比来自任何地方的连接都更安全。
为了使其永久生效,~/.xinitrc
请像这样编辑该文件:
跑步gedit ~/.xinitrc
编辑该文件使其看起来像这样(开始时它应该是空的):
#! /bin/bash
xhost +localhost &
现在保存文件,注销并登录。现在一切都应该可以使用 sudo 正常运行。
我无法在 14.04 上重现您的问题,但是当 sudo / gksu 抛出此错误时,这对我来说是有效的。
资料来源:
答案3
在终端中执行以下操作:
nano /home/user/.bashrc # user = name of your user
在最后添加以下行。
export XAUTHORITY=$HOME/.Xauthority
答案4
我通过在终端中运行来解决这个问题,
sudo gparted
看起来 GTK+ root 密码对话框与 x 服务器设置混淆了