Bash:等到用户完全登录X.

我有一个bash脚本,每天由anacron启动,需要一些用户输入.这应该通过图形对话框完成,如kdialog提供.

有三种选择:

>“是的,今天开始任务” – >运行任务
>“不,今天不要开始任务” – >退出脚本
>错误,用户未完全登录X – > 1分钟后重试

这是我到目前为止的代码(脚本以有问题的用户身份运行):

while ! kdialog --title "Task $DATE" --msgBox "Please make preparations for today's task and press OK"
do
   logger -t task "waiting for display to become available"
   sleep 1m
done

这是有效的,除了我没有看到使用YesNo对话框的任何选项并区分按钮单击“不,今天不开始”和“错误,X服务器尚不可供用户使用” – 因为kdialog在两种情况下都返回退出代码1.

我想过使用一个不同的程序来检查X服务器是否已经可用,但我没有想出要使用的想法.任何人都有更好的主意? (使用Kubuntu 10.04和KDE4,如果需要该信息……)

解决方法

校验:

xprop -root

xprop附带x11-utils软件包,很可能与X11一起安装…

另请参阅man 1 xprop中的SEE ALSO部分:

SEE ALSO
       X(7),xdpyinfo(1),xwininfo(1),xdriinfo(1),glxinfo(1),xvinfo(1)

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...