我有一个由 anacron 每天启动的 bash 脚本,它不时需要一些用户输入。这应该通过图形对话框来完成,例如 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 服务器是否已经可用,但我没有想出使用哪个程序的想法。有人有更好的主意吗?(使用带有 KDE4 的 Kubuntu 10.04,如果需要该信息......)