Tirar uma tela colorida da linha de comando com o ImageMagick

0

Estou tentando automatizar as capturas de tela do site no meu servidor (sem título) da seguinte forma:

Inicie um servidor X virtual:

Xfvb :1 -pixdepths 16,24,32 -screen 1 1080x1440x24 -nolisten tcp

Primeiro, tentei tirar screenshots com cutycaps:

DISPLAY=:1 cutycapt --url=http://myurl --out=screenshot.png

Isso funciona com cores completas, mas o mecanismo do webkit é muito antigo para suportar nosso CSS, por isso a página da Web não é exibida corretamente.

Então eu tentei o Firefox e o ImageMagick:

nohup firefox http://myurl &
sleep 4
import -display :1 -window root screenshot.png

Infelizmente, a imagem resultante tem apenas 16? 256? cores. Definitivamente não é suficiente.

Então eu tentei xwd:

xwd -root -display :1 -out screenshot.xwd

Ainda sem sorte, ainda apenas 16 cores. Alguma idéia?

    
por knipknap 01.08.2016 / 09:14

1 resposta

0

Eu encontrei uma solução. Por algum motivo, cores completas só funcionam quando o Xfvb está sendo exibido: 0. Então, isso funciona:

# Run Xfvb
Xfvb :0 -screen 0 1080x1440x24 -nolisten tcp &

export DISPLAY=:0

# Start Firefox.
nohup firefox http://fipla.spiff.xyz:8000/calendar &
FFPID=$!
sleep 3

# Resize the window.
WINDOW_ID='xdotool search --onlyvisible firefox'
echo Window id is $WINDOW_ID
xdotool windowmove $WINDOW_ID 0 0
xdotool windowsize $WINDOW_ID 1080 1440
sleep 1

# Take screenshot.
import -window root -crop 1067x1380+0+72 $DIR/screenshot1.png

kill $FFPID
rm nohup.out
    
por 03.08.2016 / 15:39