Гид по технологиям

Полноразмерные скриншоты сайтов из терминала с gnome-web-photo

• 4 min read • Инструменты • Обновлено 19 Nov 2025
Полноразмерный скриншот сайта — gnome-web-photo
Полноразмерный скриншот сайта — 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

Важно: 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.
  • Пакет не найден — проверьте репозитории дистрибутива или соберите из исходников.

Пример рабочего процесса (мини-методика)

  1. Прототип: протестируйте команду локально с несколькими URL.
  2. Автоматизация: напишите скрипт, который читает список URL и сохраняет снимки с датой.
  3. Мониторинг: проверяйте коды возврата и храните логи.
  4. Регрессия: сохраняйте эталонные снимки и сравнивайте при релизах.

Заключение

gnome-web-photo — простой инструмент для получения полноразмерных скриншотов сайтов через терминал. Он хорош для быстрой съёмки и простых сценариев. Для сложных динамических сайтов рассмотрите headless-браузеры. Попробуйте в реальных задачах и выберите инструмент в зависимости от требований к рендерингу и автоматизации.

Примечание по изображению: Digital photo camera in studio with softbox and flashes. 3d by BigStockPhoto

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро