Ubuntuのshutterで自動でスクリーンショットを取る
前回までのお話
gnome-screenshotでスクショを取るのはできたんですが、いちいちピカって光るのよね……それ要らんのよね……
コマンドオプションの中にはそういうの見つからないので……
こちらの記事ではshutterというのを使っていたので、試してみました。
gokuraku104robot.hatenablog.com
お。光らない。こっちにしようかなー。
まぁ本番でUbuntu使うかどうかもまだ決まってませんが。
基本上記記事通りでできましたが、以下自分メモ。
$ shutter
これでGUIが立ち上がる。保存先や保存ファイル名はあらかじめGUIから設定した。
追記:ファイル名の指定で、日付や時刻が設定できるのだが、時刻を設定するには「%t」だそうだ。む、これだけか、どう出るんだ。設定したところ「15:25:03」ってコロン付きで出てきた……わお、Linuxってコロンいいのか……。
でもわたしはこのファイルをWindowsで取りたいんだな~~~はいWindowsから見たらファイル名化けてました。「0NSTVI~L」みたいな感じ。
日に1回取ればいいから、ファイル名は日付までにします。
同じ日に複数回取ったら、「20220301(001)」ってなりました。追記終わり。
GUIではなく、スクリプトからスクショを取る場合、キャプチャーモードオプションをつけて、撮るものを指定する。
また
-e -n -disable_systray
のオプションをつけると吉。詳細はマニュアル(ヘルプ)でご確認あれ。
$ vi /home/user_name/shutter.sh
でファイルを作成する。中身はこうした。
#!/bin/bash
export DISPLAY=:0
shutter -e -n -f --disable_systray
-f は全画面撮るオプション。
$ crontab -e
cronに以下を設定。
*/2 * * * * bash /home/user_name/shutter.sh >> /share/test.log 2>&1
スクショ取ーれた。
うわ1回撮っただけでログ膨大になる……
……あれ待ってー、実行ファイルにアクセス権付与するの忘れてた!
$ ls -l
664だな……なんで実行権なくても動くん……
プログラム sh の引数としてスクリプトファイルを指定しているので、shebang が無くても動作します。実行権限がなくても起動出来ます。いわゆる python foo.py とやっているのと同じです。
ん。cronでbashで実行してるからか……
$ bash shutter.sh
お、動いた。
$ ./shutter.sh
単体で動かそうとしたら、「許可がありません」って怒られました。なるほど。
$ chmod 755 shutter.sh
とりあえず実行権は付与しときますか。
shutterでスクリーンショットを自動で取る、という目的は果たされたのだが、膨大に出てしまうログをどげんかせんといかん。
続く。