使用していますが、i3wm
画面のロックを解除した後にスクリプトを実行したいと思います。次の手順を使用して、画面を手動でロックしたときに機能させることができました。
この投稿。
ただし、画面が自動的にロック解除された後は機能しませんxautolock
。たとえば、次のようになります。
xautolock -time 5 -locker "blurlock -n && my_script.sh"
動作しません。 5分後に画面はロックされますが、ロック解除後にスクリプトは実行されません。実際にはまったく実行されていないようです。
動作させる方法はありますか?おそらく使用するかxss-lock
似ていますか?
編集する
コメントで@aviroの提案に従ってスクリプトを次のように変更しました。
#!/usr/bin/bash
echo "Hello" >> $HOME/temp.txt
blurlock -n
echo "Unlocked" >> $HOME/temp.txt
そして彼は逃げたxautolock -time 1 -locker "my_script.sh &"
。画面ロック、ファイルにはtemp.txt
スクリプトに2行が含まれています。したがってxautolock
。
スクリプトを介して実行しようとしているタスクの中には、ffmpeg
スクリプトを次のように変更しました。
#!/usr/bin/bash
blurlock -n
ffmpeg -f video4linux2 -s vga -i /dev/video-cam $HOME/Pictures/test.jpg
notify-send -t 30000 'Unlocked'
これは手動で実行すると機能します。画面がロックされていてロックが解除されると、「ロック解除済み」という通知がポップアップし、Webカメラの画像が指定されたとおりにファイルに記録されます。
ただし、ランタイムによるロックxautolock -locker "my_script.sh"
解除後は、画像のキャプチャや通知はありません。端末で実行していてxautolock
バックグラウンドで送信しているため、&
次のメッセージが表示されます。
[1] + 581665 suspended (tty output) xautolock -time 1 -locker "my_script.sh"
コマンド> /dev/null 2>&1
に追加しても役に立ちません。ffmpeg
答え1
多くの実験の最後にコマンドnohup
の前に使用するとffmpeg
効果があると確信しています。つまり、上記の行はmy_script.sh
次のように変更する必要があります。
nohup ffmpeg -f video4linux2 -s vga -i /dev/video-cam $HOME/Pictures/test.jpg > /dev/null 2>&1