Полноразмерные скриншоты сайтов из терминала с gnome-web-photo
Зачем это нужно
Скриншоты сайтов часто нужны для документации, тестов и отчётов. Обычные инструменты захватывают видимую область, но не всегда всю страницу целиком. gnome-web-photo решает эту задачу с помощью одной команды и поддерживает вывод в PNG или PDF.
Ключевые требования
- Работает как GNOME-приложение и требует среды с поддержкой GTK+ 3.0.
- На серверах без графического окружения может понадобиться виртуальный дисплей (например, Xvfb).
Установка
Для Debian/Ubuntu-подобных дистрибутивов:
sudo apt-get install gnome-web-photoДля Fedora или yum-подобных систем (в современных Fedora можно использовать dnf):
sudo yum install gnome-web-photoили
sudo dnf install gnome-web-photoВажно: в некоторых репозиториях пакет может отсутствовать. В этом случае проверьте сторонние репозитории или сборку из исходников.
Быстрый запуск
Самая простая команда:
gnome-web-photo URL output.pngПример:
gnome-web-photo https://example.com page-full.pngЭто создаст полный скриншот страницы и сохранит его как PNG.

Важно: gnome-web-photo не поддерживает формат JPG; используйте PNG или PDF.
Основные параметры
- –mode=thumbnail — создание миниатюры. Пример (256×256 px):
gnome-web-photo --mode=thumbnail URL output.png- –mode=print — вывод в формат PDF:
gnome-web-photo --mode=print URL output.pdf- –timeout=T — задать таймаут в секундах (если сайт не отвечает):
gnome-web-photo --timeout=60 URL output.png- –delay=D — задержка перед съёмкой в секундах (полезно для динамических страниц):
gnome-web-photo --delay=10 URL output.png- –width=W — задать ширину итогового изображения (по умолчанию 1024 px):
gnome-web-photo --width=1920 URL output.pngКоманды можно комбинировать.
Практические советы и сценарии использования
- Для страниц, где контент подгружается JavaScript, добавляйте –delay, чтобы дождаться загрузки динамики.
- Если вы запускаете на сервере без X, используйте Xvfb:
Xvfb :99 -screen 0 1920x1080x24 &
export DISPLAY=:99
gnome-web-photo URL output.png- Для пакетной обработки списка URL используйте простой скрипт (bash):
while read url name; do
gnome-web-photo --width=1366 --delay=3 "$url" "${name}.png"
done < list.txtОграничения и когда это не подходит
- gnome-web-photo не предназначен для сложной автоматизации современных одностраничных приложений (SPA) с интенсивным JavaScript. В таких случаях лучше использовать headless Chrome/Chromium (Puppeteer) или Playwright.
- Нельзя напрямую получить JPG — только PNG или PDF.
- На некоторых современных дистрибутивах пакет может быть устаревшим или отсутствовать в официальных репозиториях.
Альтернативные инструменты (короткая сравнительная подсказка)
- wkhtmltoimage — хорошо для HTML/CSS без сложного JS.
- cutycapt — старый инструмент, простой в использовании, но менее поддерживаемый.
- Headless Chrome / Puppeteer — для сложных SPA и автоматизированных тестов (даёт больше контроля и стабильности).
Выбор: для простых страниц и быстрой установки gnome-web-photo удобен; для сложных динамических сайтов стоит выбирать headless-браузеры.
Рольные чек-листы (быстро)
Администратор сервера:
- Установить пакет и зависимости.
- При необходимости поднять Xvfb.
- Настроить планировщик задач (cron) для массовых снимков.
Разработчик/QA:
- Тестировать с –delay и –timeout.
- Сравнить рендер с целевыми браузерами.
- Сохранить контрольные снимки для регрессионного тестирования.
Дизайнер/Контент-менеджер:
- Проверить полноту верстки в итоговом PNG.
- Указать нужную ширину (–width) для соответствия макету.
Тесты и критерии приёмки
- Команда запускается без ошибок и возвращает код 0.
- Сгенерирован файл нужного формата (PNG/PDF) и ожидаемых размеров.
- Для динамической страницы при –delay элемент X появляется на снимке.
Краткий глоссарий
- Xvfb — виртуальный X-сервер для запуска графических приложений в безголовой среде.
- Headless Chrome — браузер Chromium, запускающийся без графического интерфейса, часто используемый в автоматизации.
Устранение неполадок
- Ошибка «cannot open display» — экспортируйте DISPLAY или запустите Xvfb.
- Пустой/обрезанный снимок — увеличьте –delay и/или –timeout.
- Пакет не найден — проверьте репозитории дистрибутива или соберите из исходников.
Пример рабочего процесса (мини-методика)
- Прототип: протестируйте команду локально с несколькими URL.
- Автоматизация: напишите скрипт, который читает список URL и сохраняет снимки с датой.
- Мониторинг: проверяйте коды возврата и храните логи.
- Регрессия: сохраняйте эталонные снимки и сравнивайте при релизах.
Заключение
gnome-web-photo — простой инструмент для получения полноразмерных скриншотов сайтов через терминал. Он хорош для быстрой съёмки и простых сценариев. Для сложных динамических сайтов рассмотрите headless-браузеры. Попробуйте в реальных задачах и выберите инструмент в зависимости от требований к рендерингу и автоматизации.
Примечание по изображению: Digital photo camera in studio with softbox and flashes. 3d by BigStockPhoto
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента