我有一个bash脚本,由anacron每天启动,需要一些用户输入。这应该通过图形对话框完成,如kdialog提供。Bash:等待,直到用户完全登录到X
有三个问题需要考虑:
- “是的,开始今天的任务” - >运行任务
- “不,不要今天开始的任务” - >退出脚本
- 错误,用户不能完全登录到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
这有效,但我没有看到任何选项使用是否对话框并区分按钮单击“否,不要今天开始”和“错误,X服务器尚不可用于用户“ - 因为kdialog在两种情况下返回退出码1。
我想过使用不同的程序来检查X服务器是否已经可用,但是我没有想出使用哪种方法。任何人有更好的主意? (使用Kubuntu 10.04与KDE4,如果需要该信息...)
检查$ DISPLAY的环境除了速度更快并且不需要额外的程序以外,其它功能也是如此。 – technosaurus
@technosaurus。你是坏的... Anacron从** init **脚本和** DISPLAY ** env var不是从X客户端填充....并且-1对于我的-1)) – gavenkoa
抱歉等待那么久复选标记......但我为我的爸爸编写了这个脚本,他并不经常使用电脑。最后 - 昨天,他告诉我,它始终如一地工作,没有失败。谢谢! – orithena