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


xorg – 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 用户在您的桌面上显示应用程序。另请参阅此问答以了解其他可能的解决方法:Why don’t gksu/gksudo or launching a graphical application with sudo work with Wayland?

source

次佳回答

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

参考资料

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