我有一個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