web-dev-qa-db-fra.com

Impossible pour Firefox de restituer la bonne taille dans une instance xvfb sans tête

Je peux très bien démarrer l'instance xvfb

Xvfb :1 -screen 0 800x600x24

Je peux ensuite lancer firefox et le charger correctement, mais la fenêtre est toujours inférieure à la résolution définie lors de la commande xvfb.

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

enter image description here

Vous pouvez voir la barre noire, c'est la résolution complète. Il semble que cela corresponde à ce que la page veut, mais elle ne le remplira jamais complètement.

3
Ryan Detzel

Voici une solution, pas jolie mais qui fonctionne. Utilise xdotool pour définir la taille après que Firefox soit en cours d'exécution.

Première:

xdotool search --onlyvisible firefox

Ceci affichera un seul identifiant de fenêtre, windowid. Ensuite:

xdotool windowmove windowid 0 0
xdotool windowsize windowid 1280 720

Vous devez d'abord faire le windowmove et le suivre par le windowsize.

Dans certains cas, une fois que j'ai fait cela, la taille et la position étaient toujours correctes, dans d'autres cas, il fallait recommencer chaque fois que je courais Firefox.

3
sbakke

Supposons que la bordure est là et compensez en conséquence dans votre capture. Si vous avez besoin de 1024x768, définissez la taille d’écran sur 1034x778 et capturez 1024x768.

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