Amazon Linuxを使用しています。 node.jsのSelniumテストで使用するヘッドレスのクロムブラウザーを実行したいのですが。だから私は私のように私のXvfbサーバーを起動します...
if ! pidof /usr/bin/Xvfb; then Xvfb :0 -screen 5 1024x768x8 & fi
ただし、テストが失敗した後でスクリーンショットを撮ろうとすると、
DISPLAY=:0 import -window root /tmp/screenshot.png
以下のエラーが表示されます...
+ DISPLAY=:0
+ import -window root /tmp/screenshot.png
import: unable to open X server `:0' @ error/import.c/ImportImageCommand/369.
Xvfbバッファーのスクリーンショットを撮るにはどうすればよいですか?
私は同様のことを試しました(別のディストリビューションでxtermウィンドウのスクリーンショットを撮りましたが、これはそれほど変わらないはずです)display:1を使用する必要があったので、display:0はすでに使用されています:
$ Xvfb :1 -screen 5 1024x768x8 &
[1] 23728
$ pidof /usr/bin/Xvfb
23728
$ DISPLAY=:1 xterm 2>/dev/null &
[2] 23767
$ DISPLAY=:1 xwd -root -silent | convert xwd:- png:/tmp/screenshot.png
$
そして、私は「/tmp/screenshot.png」ファイルを黒の背景に期待されるxtermウィンドウで持っています。あなたも使うことができます
xwd -display :1 -root -silent | convert xwd:- png:/tmp/screenshot.png