Поскольку Raspberry Pi очень привлекательна для ниши любителей, люди, несомненно, делают со своими Pi много интересных вещей. И что еще круче, люди любят делиться тем, что они сделали, с другими (в целях обучения, общей помощи и, возможно, просто для того, чтобы похвастаться).
Создание снимков экрана — неотъемлемая часть документирования того, что вы сделали на своем Pi, но как лучше всего сделать снимок экрана на Raspberry Pi? Я уверен, что существует множество изобретательных методов, которые можно было бы использовать, но один из самых простых — использование инструмента командной строки «Scrot».
scrot (SCReen shOT) — это простая утилита для захвата экрана, которая проста в использовании, но имеет некоторые дополнительные параметры. Чтобы установить Scrot на Raspberry Pi, используйте:
sudo apt-get install scrot
Чтобы убедиться, что Scrot установлен и работает должным образом, запустите:
scrot -v
При этом будет распечатан номер версии Scrot и произойдет выход.
Чтобы сделать снимок экрана, на вашем Pi должен быть запущен рабочий стол. Откройте окно терминала и просто выполните scrot:
scrot
По умолчанию снимки экрана сохраняются в текущем каталоге с использованием имени файла, образованного комбинацией отметки времени, разрешения экрана и литерала «_scrot». Например:
2014-06-13-095307_1232x992_scrot.png
Проблема с инструментами захвата экрана командной строки заключается в том, что вам нужно запускать команду в окне терминала, и это же самое окно терминала может мешать тому, что вы действительно хотите захватить на экране. Чтобы обойти это, scrot имеет функцию задержки. Опция «-d» позволяет указать, сколько секунд утилита должна ждать, прежде чем сделать снимок экрана. Во время задержки вы можете свернуть окно терминала и расположить экран точно так, как вы хотите для скриншота.
Вот как можно запустить scrot с задержкой в 10 секунд:
scrot -d 10
Если вы посмотрите внимательно, вы увидите свернутое окно терминала на панели задач, но важно то, что главная достопримечательность (то есть Pi Store) четко видна на скриншоте, без каких-либо других окон.
scrot позволяет указать другое имя файла для снимка экрана, указав его в качестве первого параметра, например:
scrot my_pi_screenshot.png
Вы также можете использовать специальные описатели формата в строке имени файла, чтобы гарантировать уникальность имени файла. Например, спецификатор «%Y» означает текущий год. «%m» означает текущий месяц в виде десятичного числа (т. е. от 1 до 12). «%d» означает день месяца, также в десятичном формате. Итак, если вы соедините их вместе, вы сможете вставить дату в имя файла следующим образом:
scrot 'my_pi_screenshot_%Y-%m-%d.png'
Команда scrot фактически поддерживает все спецификаторы формата из функции программирования C «strftime()
». Введите «man strftime
» в терминале, чтобы получить полный список всех специальных символов. Помимо спецификаторов времени и даты, scrot также поддерживает некоторые внутренние спецификаторы. Они начинаются с «$», а не с «%». Например, чтобы включить ширину и высоту изображения в имя файла, используйте «$w» в сочетании с «$h» следующим образом:
scrot 'my_pi_screenshot_%Y-%m-%d-$wx$h.png'
Обратите внимание, что «x» между «$w» и «$h» представляет собой буквальную строку и приведет к чему-то вроде этого: «1232×992», где «1232» — ширина, «x» «» происходит от «x» между «$w» и «$h», а «992» — это высота.
Полный список специальных спецификаторов:
- $p – размер изображения в пикселях
- $w – ширина изображения
- $h – высота изображения
- $t – формат изображения
- $$ – буква «$».
- $f – название только что сделанного снимка экрана, для использования с «-e» (см. ниже)
scrot также может выполнить команду оболочки после захвата изображения. Для этого используйте параметр «-e», за которым следует команда оболочки, которую вы хотите запустить. Например:
scrot '%Y-%m-%d_$wx$h.png' -e 'mv $f ~/shots/'
При этом делается снимок экрана и сохраняется его в файл с датой и разрешением экрана (например, 2014-07-08_1232x992.png), а затем перемещается вновь созданный файл в каталог под названием «shots» под домашним каталогом. Обратите внимание на «$f», который сообщает команде «move» название снимка экрана.
Последний интересный вариант scrot — это параметр «-u». Когда scrot вызывается с этим флагом, захватывается только содержимое текущего окна. Вы можете использовать его с «-d», чтобы дать себе несколько секунд на расстановку окон, а затем захватить активное окно.
Если у вас возникли проблемы с приведенными выше примерами, задавайте вопросы в разделе комментариев ниже, и мы посмотрим, сможем ли вам помочь.