Warum sind meine Xvfb-Screenshots schwarz mit Farbspuren (Ubuntu 16.04 LTS)

Warum sind meine Xvfb-Screenshots schwarz mit Farbspuren (Ubuntu 16.04 LTS)

Ich verwende ein Headless-Ubuntu 16.04 LTS in der Google Cloud. Ich muss im Hintergrund eine Anwendung ausführen, die eine GUI erfordert. Ich versuche, Xvfb zu verwenden, damit das Programm ausgeführt werden kann. Da das Programm jedoch einige GUI-Eingaben erfordert, muss ich auch Screenshots des Bildschirms erstellen, um zu sehen, welche Eingaben erforderlich sind.

Ich habe jedoch Probleme, Screenshots zu machen. Um den Vorgang zum Erstellen eines Screenshots zu testen, installiere und starte ich Firefox und navigiere zu Google. Ich mache einen Screenshot auf zwei Arten, mit scrot und mit imagemagick. Beide Methoden führen zu einem schwarzen Bild mit Hinweisen auf die Google-Startseite (siehe beigefügtes Bild). Die Farbe und die Details verhindern, dass der Screenshot verwendet werden kann, um zu interpretieren, was angezeigt wird. Was verursacht diesen Mangel an Details und wie kann ich das beheben?

Die entsprechenden Befehle sind unten aufgeführt:

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

Bildbeschreibung hier eingeben

Antwort1

Ich hatte ein ähnliches Problem bei der Verwendung xvfb-run.

Entsprechendxvfb-laufen(1)Laut Manpage ist die Standardauflösung 640x480x8, also nur 8-Bit-Farben. Siehe Option [-s].

Die Lösung bestand darin, die Farbtiefe wie folgt auf 16 Bit zu erzwingen:

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

verwandte Informationen