Ubuntu 12.04 LTSで、サスペンドから再開した後、およびデスクトップのロックを解除した後にスクリプトを実行したいと思います。これらは私のユーザーとして実行する必要があり、私の$DISPLAY
にアクセスできます。 。
特にしたいのですが
-
nm-applet
を再起動します バグ985028を回避するには -
notify-send
を使用してカスタム通知を表示する - これらを機能させると、おそらく他のもの
再開すると、/etc/pm/sleep.d/
のスクリプト 実行されますが、画面とユーザー名を知らなくてもrootとして実行されます。ユーザー名をハードコーディングしてexport
すると、機能する可能性があります デフォルトのDISPLAY :0
これらのスクリプトでは、しかしそれは非常に醜いハックのように感じます。
~/.config/autostart/xyz.desktop
のスクリプト ログイン後に実行されますが、再開後に画面のロックを解除しただけでは実行されません。
履歴書の後に画面のロックを解除した後にスクリプトを実行する方法はありますか?
ベストアンサー
とにかく前の回答のユーザー名をハードコーディングする必要があるようです。そのため、誰かが簡単な修正を探している場合は、/ etc / pm/sleep.dにある簡単なスクリプトを次に示します。
#!/bin/bash
case "$1" in
hibernate|suspend)
sudo -u USERNAME env DISPLAY=:0 zenity --info --text "do stuff on suspend"
;;
thaw|resume)
sudo -u USERNAME env DISPLAY=:0 zenity --info --text "do stuff on resume"
;;
esac