Google Cloud에서 헤드리스 Ubuntu 16.04 LTS를 실행하고 있습니다. 백그라운드에서 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)매뉴얼 페이지에 따르면 기본 해상도는 640x480x8이므로 8비트 색상만 있습니다. 옵션 [-s]을 참조하세요.
해결책은 다음과 같이 색상 심도를 16비트로 강제하는 것입니다.
xvfb-run -s '-screen 0 1280x800x16'