我有一个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)