Não é possível obter o firefox para renderizar o tamanho certo em uma instância xvfb sem cabeçalho

3

Eu posso iniciar a instância xvfb muito bem

Xvfb :1 -screen 0 800x600x24

Eu posso lançar o firefox e carregá-lo corretamente, mas a janela é sempre menor que a resolução que eu configurei durante o comando xvfb.

firefox http://www.ebay.com --display=:1

Você pode ver a barra preta, essa é a resolução completa. Parece que está dimensionando o que a página quer, mas nunca a preencherá completamente.

    
por Ryan Detzel 26.06.2012 / 16:49

2 respostas

2

Aqui está uma solução, não bonita, mas funciona. Usa xdotool para definir o tamanho após a execução de Firefox .

Primeiro:

xdotool search --onlyvisible firefox

Isso exibirá uma ID de janela única, windowid . Então:

xdotool windowmove windowid 0 0
xdotool windowsize windowid 1280 720

Você deve primeiro fazer o windowmove e segui-lo pelo windowsize .

Em alguns casos, uma vez que fiz isso, o tamanho e a posição estavam corretos para sempre, em outros casos tinha que ser executado novamente toda vez que eu corria Firefox .

    
por sbakke 28.04.2013 / 16:06
1

Suponha que a borda esteja lá e compense de acordo com sua captura. Se você precisar de 1024x768, defina o tamanho da tela como 1034x778 e capture 1024x768

Xvfb :1 -screen 0 1034x778x24 > /dev/null &
ffmpeg -t 1 -s 1024x768 -f x11grab -i :1.0+10,10 -f mjpeg screenshot.png
    
por TomSchober 16.05.2016 / 22:12