저는 아마존 리눅스를 사용하고 있습니다. 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 버퍼의 스크린샷을 찍는 방법은 무엇입니까?
답변1
비슷한 것을 시도했습니다(다른 배포판에서 xterm 창의 스크린샷을 찍었지만 크게 다르지 않아야 합니다). display :0이 이미 사용되었기 때문에 display :1을 사용해야 했습니다.
$ 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
$
검정색 배경에 예상되는 xterm 창이 포함된 "/tmp/screenshot.png" 파일이 있습니다. 당신은 또한 사용할 수 있습니다
xwd -display :1 -root -silent | convert xwd:- png:/tmp/screenshot.png