anacronによって毎日開始されるbashスクリプトがありますが、これには時々ユーザー入力が必要です。これは、kdialogオファーなどのグラフィカルダイアログボックスを介して実行する必要があります。
考慮すべき3つのオプションがあります。
- 「はい、今日からタスクを開始してください」->タスクを実行します
- 「いいえ、今日はタスクを開始しないでください」->終了スクリプト
- エラー、ユーザーが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を使用します...)