4

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を使用します...)

4

3 に答える 3

2

小切手:

xprop -ルート

xpropにはx11-utilsパッケージが付属しており、おそらく X11 と一緒にインストールされます...

man 1 xpropのSEE ALSOセクションも確認してください。

関連項目
       X(7)、xdpyinfo(1)、xwininfo(1)、xdriinfo(1)、glxinfo(1)、xvinfo(1)
于 2012-06-24T20:21:16.610 に答える
0

標準の X プログラムを使用するだけです。xdpyinfo、テキストのみなのでお勧めします。

于 2012-06-24T14:49:03.593 に答える
-1

代わりに、自動開始エントリにすることを検討してください。1) 実際には毎日開始する必要はなく、2) そうでない場合はディスプレイを見つける必要があるからです。

于 2012-06-25T00:56:50.050 に答える