这在编程和服务器管理员之间有点中间立场,但这似乎最终是它最相关的地方.
我正在寻找一种方法来确定变量’$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