我在 Google Cloud 中运行无头 Ubuntu 16.04 LTS。我需要在后台运行一个需要 GUI 的应用程序。我正在尝试使用 Xvfb 来允许程序运行,但由于程序需要一些 GUI 输入,我还需要截取屏幕截图以查看需要哪些输入。
但是,我无法截取屏幕截图。为了测试截屏过程,我安装并运行 firefox 导航到 google。我以两种方式截取屏幕截图,使用 scrot 和使用 imagemagick。两种方式都会导致黑色图像,其中包含谷歌主页的提示(见附图)。颜色和细节阻止使用屏幕截图来解释显示的内容。是什么导致这种缺乏细节,我该如何解决这个问题?
相关命令如下:
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
我在使用时遇到了类似的问题
xvfb-run
。根据xvfb-run(1)手册页,默认分辨率为 640x480x8,因此只有 8 位颜色。请参阅选项 [-s]。
解决方案是将颜色深度强制为 16 位,如下所示: