技術メモ

後で同じ状況が起こった時に思い出せるように技術的なちょっとしたことをメモする。ベストな解ではない。



[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 &

ロック時に実行したいコマンドやスクリプトロック解除時に実行したいコマンドやスクリプトにそれぞれ実行したいコマンドを書けば実行してくれる。
なお、これが有効なのは、このコマンドが実行されている間のみなので、当然ターミナルを閉じてしまったりしたらそれ以降は実行されなくなるので注意。





 
起動時に自動的に上のコマンドを実行するには、下のような内容のシェルスクリプトを書いて、実行権限を加えて自動起動するアプリケーションに登録すれば良い。

例えば、上記内容を/home/hoge/startup.shに保存した場合、chmod +x /home/hoge/startup.shで実行権限を与える。
下の図のように、自動起動するアプリケーションの設定で追加を押して、適当な名前をつけ、コマンドのところに/home/hoge/startup.shとすれば、起動時に自動的にコマンドが実行され、毎ロック・アンロック時に好きな処理をさせることができる。





 

もしかしたらGNOME以外の環境では動かないかもしれない。



タグ:
投稿日: 2018年9月7日





コメントを残す

回答をお約束することは出来ませんので予めご了承ください。
コメントは承認されると表示されるようになります。
コメントを送信する前に「私はロボットではありません」にチェックを入れて下さい。