我有一个脚本,当独立运行时需要设置 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 +
(在此插入用户名)
将允许特定用户访问。