gksu:Gtk-警告**:无法打开显示::0

gksu:Gtk-警告**:无法打开显示::0

突然间,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 抛出此错误时,这对我来说是有效的。

资料来源:

  1. http://www.nikhef.nl/~mjg/xhost_plus.html
  2. https://forums.opensuse.org/showthread.php/405624-sudo-doesnt-open-X-programs
  3. https://wiki.ubuntu.com/CustomXSession

答案3

在终端中执行以下操作:

nano /home/user/.bashrc # user = name of your user

在最后添加以下行。

export XAUTHORITY=$HOME/.Xauthority

答案4

我通过在终端中运行来解决这个问题,

sudo gparted

看起来 GTK+ root 密码对话框与 x 服务器设置混淆了

相关内容