为什么我的 Xvfb 屏幕截图是黑色并带有颜色痕迹 (Ubuntu 16.04 LTS)

为什么我的 Xvfb 屏幕截图是黑色并带有颜色痕迹 (Ubuntu 16.04 LTS)

我正在 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

在此输入图像描述

答案1

我在使用时也遇到过类似的问题xvfb-run

根据xvfb-运行(1)手册页中,默认分辨率为 640x480x8,因此只有 8 位颜色。请参阅选项 [-s]。

解决方案是将颜色深度强制为 16 位,如下所示:

xvfb-run -s '-screen 0 1280x800x16'

相关内容