Xlib:未指定协议

Xlib:未指定协议

可能的重复:
在远程 X 显示器上打开窗口(为什么“无法打开显示器”)?

我有一个脚本,当独立运行时需要设置 X11 显示变量。当我使用后台守护程序作业调用此脚本时,出现以下错误。
Xlib: connection to "localhost.localdomain:0.0" refused by server
Xlib: No protocol specified
请帮助我找出我在这方面可能存在的错误。
下面给出的命令位于脚本内。
export DISPLAY=主机名:0.0
java ScreenCapture
如果作为服务运行的后台守护程序调用相同的脚本,我会收到错误。

答案1

我只是在这里猜测,但后台守护程序可能以不同的用户身份运行,该用户没有访问显示的权限。

您可以使用xhost控制用户访问:

xhost 程序用于在允许连接到 X 服务器的列表中添加和删除主机名或用户名。

您可以通过运行以下命令来测试这是否是问题所在:

xhost +

从终端窗口,这将允许任何用户访问显示。

xhost +(在此插入用户名)

将允许特定用户访问。

相关内容