Scrot, создание снимков экрана из консоли

Скриншот — это изображение на котором запечатлен снимок вашего экрана.

В каждом DE имеется своя программа для создания снимков экрана. Scrot как раз одна из таких программ.

Но бывают случаи, когда не хочется устанавливать кучу зависимостей и ksnapshot в легковесную систему с Window Manager.
Также консольная утилита будет полезна для скриптов.

Начнём с установки


Debian/Ubuntu:
sudo aptitude install scrot

Arch Linux:
sudo pacman -S scrot

Официальный сайт, с которого можно скачать исходные коды.

Первый снимок экрана
Для этого достаточно выполнить
scrot %имя-файла%.png

Скриншот будет сохранён в текущей директории, узнать которую можно командой pwd.

Параметры
Первый параметр -d (--delay NUM) позволяет установить задержку, в секундах, перед созданием снимка.
Параметр -c (--count) выводит в консоль обратный отчёт.

Вывод будет таким:
$ scrot -cd 5 sreeen.png
Taking shot in 5.. 4.. 3.. 2.. 1.. 0.

С параметром -s (--select) можно выбрать определённое окно.
А параметр -b (--border) заснимет ещё и обрамление окна.

Задать качество скриншота можно параметром -q (--quality NUM). По умолчанию значение равно 75.

Scrot ещё умеет создавать миниатюры.
Для этого используем параметр -t (--thumb NUM)
В качестве значения NUM принимается число. Расчет производится в процентах от оригинального размера.
scrot -t 20 %имя-файла%.png

Можно явно указать разрешение эскиза:
scrot -t 200x110 %имя-файла%.png

Вместе с обычным снимком будет лежать файл эскиза %имя-файла%-thumb.png

Последний параметр -e (--exec APP) в качестве значения APP принимается имя команды, которая будет выполнена после создания снимка.
Например вывод имени файла:
scrot -e 'echo File name: $f' -cd 2 %имя-файла%.png

Специальные значения


Специальные значения можно использовать для подстановки значений в параметр --exec или имя файла.

Список значений:
  • $f — путь/имя изображения (игнорируется, если используется в имени файла)
  • $m — путь/имя эскиза
  • $n — имя изображения (игнорируется, если используется в имени файла)
  • $s — размер изображения (в байтах) (игнорируется, если используется в имени файла)
  • $p — размер изображения в пикселях
  • $w — ширина изображения
  • $h — высота изображения
  • $t — формат изображения
  • $$ — выводит символ '$'
  • \n — перевод строки (игнорируется, если используется в имени файла)

Примеры


Перенос снимка в другую директорию:
scrot '%Y-%m-%d_%h%M%S-$wx$h.png' -e 'mv $f /home/alex/Images/Screenshots'


Вывод оповещения в KDE:
scrot %имя-файла%.png -e 'kdialog --passivepopup "Снимок готов." 2'
Tags:
скриншот, linux

You can't comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author's username will be hidden by an alias.