linux – 如何以编程方式测试是否可以连接到$DISPLAY中指定的X服务器

这在编程和服务器管理员之间有点中间立场,但这似乎最终是它最相关的地方.

我正在寻找一种方法来确定变量’$DISPLAY’是否正在宣传我们实际可以连接的XServer,也就是说,如果所有的身份验证和诸如此类的东西都允许进一步执行.

我理想地寻找返回true / false的shell-end工具,可以在构建脚本中使用它来确定是否应该运行其中的其他测试(我不能控制).

目前的测试只是检查env变量“$DISPLAY”,如果它在那里,将尝试连接,当连接不起作用时,测试假设测试失败,而不是简单的显示不可连接.

我只需要能够做到

if [[ ! can_connect_to_X ]] ; then 
    unset DISPLAY
fi

为了阻止这些测试有严重的心理问题.

在理想情况下,执行此操作所需的工具应随附X Client库本身,以免产生特殊依赖性,并且能够假设实用程序不在那里,我们无法连接到任何显示器.

最佳答案
您可以尝试使用xset命令:

if [[ ! $(xset -q) ]]; then
   # the X server is not reachable
else
   # the X server is reachable
fi

转载注明原文:linux – 如何以编程方式测试是否可以连接到$DISPLAY中指定的X服务器 - 代码日志