Xvfb のスクリーンショットが色の痕跡とともに黒くなるのはなぜですか (Ubuntu 16.04 LTS)

Xvfb のスクリーンショットが色の痕跡とともに黒くなるのはなぜですか (Ubuntu 16.04 LTS)

Google Cloud でヘッドレス Ubuntu 16.04 LTS を実行しています。バックグラウンドで実行する必要があるアプリケーションがあり、これには GUI が必要です。Xvfb を使用してプログラムを実行できるようにしようとしていますが、プログラムには GUI 入力が必要なので、必要な入力を確認するために画面のスクリーンショットを撮る必要もあります。

しかし、スクリーンショットを撮るのに問題があります。スクリーンショットを撮るプロセスをテストするために、Firefox をインストールして実行し、Google にアクセスしました。スクリーンショットを撮るには、scrot と imagemagick の 2 つの方法があります。どちらの方法でも、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-run(1)man ページによると、デフォルトの解像度は 640x480x8 なので、8 ビット カラーのみとなります。オプション [-s] を参照してください。

解決策は、次のように色深度を 16 ビットに強制することでした。

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

関連情報