5
ユーザーのデスクトップが読み込まれたときにスクリプトから検出する方法は?
私は、bashで実装されcron、@rebootオプションを使用して実行されている、デスクトップが非アクティブであることを示すデーモンを持っています。スクリプトは次のとおりです(タイミングはテスト目的で短くなっています)。 #!/bin/bash P_STATE=0 while : do sleep 5 if [ $P_STATE == 0 ]; then [ `xprintidle` -ge 25000 ] && P_STATE=1 && wmctrl -k on else [ `xprintidle` -le 25000 ] && P_STATE=0 done 問題:ユーザーがまだログイン画面xprintidleなどにいwmctrlて、デスクトップがまだロードされていないために失敗した場合。これを回避するために、スクリプトの最初に次の行を追加しました。 while: do sleep 10s [ -n `who | grep "$USER"` ] && break done …