GNU/Linux >> Linux の 問題 >  >> Ubuntu

再開後および画面のロック解除後にスクリプトを実行するにはどうすればよいですか?

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

Ubuntu
  1. バックグラウンドでシェルスクリプトを実行する方法は?

  2. Openvpnが正常に接続した後にスクリプトを実行する方法は?

  3. スクリプトを実行する方法??

  1. UbuntuでCプログラムをコンパイルして実行する方法

  2. Linux –画面上でスクリプトを実行する方法ロック/ロック解除?

  3. ログイン後に bash スクリプトを実行する

  1. Ssh – Ssh経由で接続した直後にスクリプトを実行する方法は?

  2. Node.js をバックグラウンド プロセスとして実行し、死ぬことはありませんか?

  3. 画面のロック/ロック解除でスクリプトを実行する方法は?