How to fix error Xlib.error.DisplayConnectionError: Can't connect to display ":0": b'No protocol specified\n'

How to fix error Xlib.error.DisplayConnectionError: Can't connect to display ":0": b'No protocol specified\n'

我正在用 python3 和 XLib 制作一些程序。

在我的 Ubuntu 14.04 PC 上一切正常,但是当我尝试 运行 我的应用程序在我的笔记本中手动安装 Xorg 时,我得到异常:

Xlib.error.DisplayConnectionError: Can't connect to display ":0": b'No protocol specified\n'

在线:

self.__display = Xlib.display.Display()

这是怎么回事?如何解决这个问题,让它可以在每个 Linux 上工作?

编辑:

这看起来不像 X11: run a gnome app as another user 的副本。在我的两台计算机上,我有相同的用户和组,所以这个问题可能与缺少 运行 我的程序的权限无关。

肯定是 X 的配置有问题。

好的,这是 python3-xlib 中的错误。有关详细信息,请参阅 https://github.com/LiuLang/python3-xlib/issues/6

临时解决方法是

$ xhost +

http://ubuntuforums.org/showthread.php?t=2290602

肯定和权限有关系。 要获得超级用户权限,您只需在 Linux 上键入:

$ sudo su
<input your root password>

现在运行再次python文件

希望对您有所帮助!