Допустим, нужно сделать несколько десятков снимков экрана работающей программы через заданные интервалы времени. Автоматизировать процесс получения снимков можно с помощью утилиты командной строки scrot.
Установить scrot
sudo apt-get install scrot
Захватить снимки экрана с помощью scrot
Для этого наберем в окне терминала следующие команды:
while true; do scrot -d int -u 'filename.jpg|png' -e 'mv $f /file/path/to/store/screenshots'; done
Здесь:
int
– длительность интервала между снимками, в секундах;-u
– делает снимок активного окна;filename
– имя файла снимка. Можно использовать переменные%Y
,%m
,%d
,%H
,%M
,%S
$w
,$h
, обозначающие год, месяц, день, час, минуту, секунду, ширину и высоту снимка соответственно;jpg|png
– снимок сохраняется в одном из форматов:jpg
илиpng
;file/path/to/store/screenshots
– путь к каталогу, в котором будут сохраняться снимки.
Пусть, к примеру, снимки будут делаться каждые 5 секунд и сохранятся в каталоге pics
. Наберем для этого:
while true; do scrot -d 5 -u '%Y-%m-%d-%H:%M:%S.png' -e 'mv $f ~/pics/'; done
Нажатием "Ctrl + z" прерываем процесс получения снимков.
В зависимости от размеров монитора и ресурсов вашего компьютера процесс получения снимка может занимать 1-2 с. Поэтому, установив интервал между снимками равным 5 с, вы реально будете получать снимки через 6-7 с.
Сохраним набранные команды в файле сценариев auto-screenshot.sh
#!/bin/bash
for i in {1..100} # сделать 100 снимков
do
scrot -d 5 -u '%Y-%m-%d-%H:%M:%S.png' -e 'mv $f ~/pics/';
done
присвоим ему права на исполнение
chmod +x ~/auto-screenshot.sh
и запустим в окне терминала:
./auto-screenshot.sh
Комментарии
comments powered by Disqus