Скриншоты на Raspberry Pi: scrot — инструкция
Введение
Raspberry Pi привлекает энтузиастов и любителей, которые часто делятся результатами своей работы. Скриншоты помогают документировать шаги, готовые проекты и учебные материалы. Одна из простых и мощных утилит для захвата экрана — scrot (SCReen shOT). Она работает в терминале и даёт несколько полезных опций для автоматизации и именования файлов.
Важно: для создания скриншота рабочий стол должен быть запущен.
Установка
Откройте терминал и установите scrot через менеджер пакетов apt. Команда:
sudo apt-get update
sudo apt-get install scrotПояснение: первая команда обновляет индекс пакетов, вторая устанавливает scrot.
Проверка установки
Чтобы убедиться, что scrot установлен правильно, выполните:
scrot -vКоманда выведет номер версии и завершит работу.
Быстрый захват
Простой скриншот делается одной командой в каталоге, где вы находитесь:
scrot
По умолчанию scrot сохраняет файл в текущую папку. Имя формируется автоматически на основе временной метки, разрешения экрана и суффикса _scrot.
Пример полученного имени файла:
2014-06-13-095307_1232x992_scrot.pngКак сделать скриншот без видимой терминальной сессии
Если вы запускаете scrot из терминала, окно терминала может попасть в кадр. Решение — задержка перед захватом. Опция -d указывает количество секунд ожидания.
Пример задержки 10 секунд:
scrot -d10
Пока идёт отсчёт, вы можете свернуть терминал и подготовить экран.
Кастомное имя файла и форматирование
Вы можете задать имя файла как первый аргумент команды:
scrot my_pi_screenshot.pngscrot поддерживает форматные спецификаторы из функции strftime и собственные внутренние переменные. Это позволяет генерировать уникальные и информативные имена файлов.
Пример с датой:
scrot 'my_pi_screenshot_%Y-%m-%d.png'Спецификаторы strftime по одному слову: %Y — год, %m — месяц, %d — день. Полный список можно посмотреть через команду:
man strftimeВнутренние спецификаторы scrot начинаются с символа $:
scrot 'my_pi_screenshot_%Y-%m-%d-$wx$h.png'Объяснение: $w — ширина, $h — высота, буква x между ними остаётся буквальным символом и в имени получится что-то вроде 1232x992.
Полный набор внутренних спецификаторов:
- $p — размер в пикселях, например 1232x992
- $w — ширина
- $h — высота
- $t — формат изображения
- $$ — литерал символа $
- $f — имя только что сохранённого файла, удобно вместе с опцией -e
Выполнение команды после захвата
scrot может запускать любую shell-команду после сохранения изображения. Для этого используется опция -e и выражение команды.
Пример, сохраняющий файл по шаблону и перемещающий его в папку ~/shots:
scrot '%Y-%m-%d_$wx$h.png' -e 'mv $f ~/shots/'Здесь $f заменяется на имя созданного файла.
Важно: если папки ~/shots не существует, команда mv завершится с ошибкой. Предварительно создайте папку:
mkdir -p ~/shotsЗахват активного окна
Опция -u позволяет захватить только содержимое текущего активного окна. Часто удобно сочетать -u с -d, чтобы успеть переключиться на нужное окно:
scrot -u -d5
Практические советы и рекомендации
- Всегда проверяйте, что рабочий стол запущен в пользовательской сессии. scrot не создаёт виртуального экрана.
- Для пакетной съёмки используйте скрипт, который вызывает scrot с необходимыми шаблонами имён и перемещает файлы в структуру папок.
- Если в имени файла используются пробелы, берите шаблон в одинарные кавычки или экранируйте пробелы.
- Для позднейшей обработки добавьте в опцию -e команды для оптимизации изображения, например с помощью ImageMagick.
Альтернативы scrot
Если scrot по каким-то причинам не подходит, рассмотрите альтернативы:
- gnome-screenshot — графический инструмент для GNOME, прост в использовании
- import из пакета ImageMagick — мощен для скриптов и обработки
- maim — альтернатива scrot с фокусом на скорость и гибкость
- сочетание Print Screen в окружениях рабочего стола, где оно доступно
Каждая альтернатива имеет свои преимущества: графическая — удобна для разовых снимков, cli-инструменты — лучше подходят для автоматизации.
Отладка и распространённые ошибки
- Ошибка «No protocol specified» или «unable to open display» обычно означает, что вы пытаетесь запустить scrot в окружении без доступа к X серверу. Запустите команду в пользовательской X-сессии.
- Если снимки пустые или чёрные, проверьте разрешение и настройки аппаратного ускорения графики.
- Если команда -e не выполняется, проверьте синтаксис и наличие исполняемого интерпретатора.
Важно: не запускайте команды с правами root в графическом сеансе другого пользователя без необходимости.
Минимальный SOP: быстрый рабочий порядок
- Подготовьте место для снимков:
mkdir -p ~/shots- Сделайте скриншот текущего экрана и переместите его:
scrot '%Y-%m-%d_$wx$h.png' -e 'mv $f ~/shots/'- Для захвата активного окна с задержкой:
scrot -u -d5 '%Y-%m-%d_$wx$h.png' -e 'mv $f ~/shots/'- Проверьте папку ~/shots и при необходимости обработайте изображения командой mogrify или convert из ImageMagick.
Ролевые чеклисты
Для быстрого принятия решения, какие параметры использовать:
Для блогера/автора урока:
- Использовать -d для подготовки кадра
- Шаблон имён с датой
- Перемещение в папку по проекту
Для разработчика/тестировщика:
- Включать разрешение ($wx$h) в имя
- Добавлять метку билда в имя файла, если нужно
- Скрипт для массовой съёмки
Для службы поддержки:
- Захват активного окна (-u)
- Добавлять в имя идентификатор инцидента
- Автоматическая загрузка на общий сервер при помощи -e и scp или curl
Критерии приёмки
- Скриншот создаётся в пользовательской сессии X
- Имя файла соответствует шаблону проекта
- Файл сохраняется в ожидаемой папке
- При использовании -u захватывается именно активное окно
Шпаргалка команд (cheat sheet)
- Установка:
sudo apt-get install scrot- Быстрый снимок:
scrot- С задержкой 10 секунд:
scrot -d10- Активное окно через 5 секунд:
scrot -u -d5- Шаблон с датой и разрешением и перемещением в ~/shots:
scrot '%Y-%m-%d_$wx$h.png' -e 'mv $f ~/shots/'Когда scrot может не подойти
- Если вам нужен встроенный GUI-редактор скриншотов с разметкой, лучше выбрать графическое приложение.
- Для автоматизированной веб-съёмки страниц предпочтительней инструменты, рендерящие страницу в headless браузере.
- Если у вас Wayland-сессия, scrot может не работать; ищите инструменты, поддерживающие Wayland.
Краткий словарь терминов
- X сервер — система отображения графики в классических Linux-десктопах
- strftime — функция форматирования даты и времени
- активное окно — окно, принимающее ввод с клавиатуры
Заключение
scrot — лёгкий и надёжный инструмент для быстрого создания скриншотов на Raspberry Pi. Он особенно полезен в сценариях автоматизации и при создании большого количества снимков с предсказуемыми шаблонами имён. Если нужен графический интерфейс или поддержка Wayland, рассмотрите альтернативы.
Важно: при возникших проблемах задавайте вопросы в комментариях или описывайте конфигурацию окружения, чтобы получить точные рекомендации.
Ключевые команды в одном месте:
# Установка
sudo apt-get update
sudo apt-get install scrot
# Быстрый снимок
scrot
# С задержкой
scrot -d10
# Активное окно
scrot -u -d5
# С шаблоном и перемещением
mkdir -p ~/shots
scrot '%Y-%m-%d_$wx$h.png' -e 'mv $f ~/shots/'Конец статьи.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента