いろいろやる課、書く係

いろいろなことを、たんたんと記録するブログ

Ubuntuのshutterで自動でスクリーンショットを取る

前回までのお話

sakimika.hateblo.jp

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だな……なんで実行権なくても動くん……

teratail.com

プログラム sh の引数としてスクリプトファイルを指定しているので、shebang が無くても動作します。実行権限がなくても起動出来ます。いわゆる python foo.py とやっているのと同じです。

ん。cronでbashで実行してるからか……

$ bash shutter.sh

お、動いた。

$ ./shutter.sh

単体で動かそうとしたら、「許可がありません」って怒られました。なるほど。

$ chmod 755 shutter.sh

とりあえず実行権は付与しときますか。

shutterでスクリーンショットを自動で取る、という目的は果たされたのだが、膨大に出てしまうログをどげんかせんといかん。

続く。

sakimika.hateblo.jp