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-実行(1)マニュアルページによると、デフォルトの解像度は640×480×8なので、8ビットカラーしかありません。オプション[-s]をご覧ください。
解決策は、次のように色深度を16ビットに強制することです。
xvfb-run -s '-screen 0 1280x800x16'