gksu:Gtk-WARNING **:无法打开显示:: 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。

如果运行Ubuntu 17.10或更高版本,当应用程序尚未完全支持Wayland时,可能会出现此问题。 作为更新应用程序之前的变通方法,您可以运行

 xhost +SI:localuser:root 

这将允许root用户在您的桌面上显示应用程序。 另请参阅此问答以获取其他可能的解决方法: 为什么gksu / gksudo或启动带有sudo的图形应用程序不能与Wayland一起使用?

资源

尝试在终端中运行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

在终端中执行以下操作:

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

最后添加以下行。

 export XAUTHORITY=$HOME/.Xauthority