[Linux] 画面のロック・アンロック時にコマンドを実行する
※この記事はUbuntu, GNOME3の環境での動作確認を行っています。
画面がロックされるとき、またはロックが解除される時に特定のコマンドやスクリプトを実行したい時、以下の様なコマンドを入力する。
$ dbus-monitor –session “type=’signal’,interface=’org.gnome.ScreenSaver'” |
while read x; do
case “$x” in
*”boolean true”*)
*”boolean false”*)
esac
done &
while read x; do
case “$x” in
*”boolean true”*)
ロック時に実行したいコマンドやスクリプト
;*”boolean false”*)
ロック解除時に実行したいコマンドやスクリプト
;esac
done &
ロック時に実行したいコマンドやスクリプト
とロック解除時に実行したいコマンドやスクリプト
にそれぞれ実行したいコマンドを書けば実行してくれる。
なお、これが有効なのは、このコマンドが実行されている間のみなので、当然ターミナルを閉じてしまったりしたらそれ以降は実行されなくなるので注意。
起動時に自動的に上のコマンドを実行するには、下のような内容のシェルスクリプトを書いて、実行権限を加えて自動起動するアプリケーションに登録すれば良い。
1 2 3 4 5 6 7 8 |
#!/bin/sh dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | while read x; do case "$x" in *"boolean true"*) ロック時に実行したいコマンドやスクリプト; *"boolean false"*) ロック解除時に実行したいコマンドやスクリプト; esac done & |
例えば、上記内容を/home/hoge/startup.shに保存した場合、chmod +x /home/hoge/startup.sh
で実行権限を与える。
下の図のように、自動起動するアプリケーションの設定で追加を押して、適当な名前をつけ、コマンドのところに/home/hoge/startup.sh
とすれば、起動時に自動的にコマンドが実行され、毎ロック・アンロック時に好きな処理をさせることができる。
もしかしたらGNOME以外の環境では動かないかもしれない。
同じカテゴリー(技術メモ)の他の記事を表示
全記事を表示
タグ: Linux
投稿日: 2018年9月7日