![Почему мои скриншоты Xvfb черные со следами цвета (Ubuntu 16.04 LTS)](https://rvso.com/image/168807/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83%20%D0%BC%D0%BE%D0%B8%20%D1%81%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%D1%8B%20Xvfb%20%D1%87%D0%B5%D1%80%D0%BD%D1%8B%D0%B5%20%D1%81%D0%BE%20%D1%81%D0%BB%D0%B5%D0%B4%D0%B0%D0%BC%D0%B8%20%D1%86%D0%B2%D0%B5%D1%82%D0%B0%20(Ubuntu%2016.04%20LTS).png)
Я использую headless Ubuntu 16.04 LTS в Google Cloud. Мне нужно запустить приложение в фоновом режиме, которому требуется GUI. Я пытаюсь использовать Xvfb, чтобы разрешить запуск программы, но поскольку программа требует некоторых входных данных GUI, мне также нужно сделать скриншоты экрана, чтобы увидеть, какие входные данные требуются.
Однако у меня возникли проблемы со скриншотами. Чтобы протестировать процесс создания скриншота, я установил и запустил Firefox, перейдя в Google. Я делаю скриншот двумя способами: с помощью Scrot и с помощью ImageMagick. Оба способа приводят к черному изображению с намеками на домашнюю страницу Google (см. прикрепленное изображение). Цвет и детали не позволяют использовать скриншот для интерпретации того, что показано. Что вызывает эту нехватку деталей и как это исправить?
Соответствующие команды приведены ниже:
sudo apt-get install xvfb xorg xserver-xorg scrot imagemagick
Xvfb :1 &
export DISPLAY=:1
DISPLAY=:1 firefox https://www.google.com &
DISPLAY=:1 scrot
DISPLAY=:1 import -window root tmp_screenshot.png
решение1
У меня была похожая проблема при использовании xvfb-run
.
В соответствии сxvfb-запуск(1)man-страница, разрешение по умолчанию 640x480x8, поэтому только 8-битные цвета. См. опцию [-s].
Решением стало принудительное увеличение глубины цвета до 16 бит следующим образом:
xvfb-run -s '-screen 0 1280x800x16'