Не удается получить Firefox для отображения нужного размера в экземпляре xvfb без головы
Я могу нормально запустить экземпляр xvfb
Xvfb :1 -screen 0 800x600x24
Затем я могу запустить Firefox и загрузить его правильно, но окно всегда меньше разрешения, которое я установил во время команды xvfb.
firefox http://www.ebay.com --display=:1
Вы можете увидеть черную полосу, это полное разрешение. Похоже, что он соответствует тому, что хочет страница, но он никогда не заполнит ее полностью.
2 ответа
Вот решение, не очень, но работает. Пользы xdotool
установить размер после Firefox
бежит.
Первый:
xdotool search --onlyvisible firefox
Это покажет один идентификатор окна, windowid
, Затем:
xdotool windowmove windowid 0 0
xdotool windowsize windowid 1280 720
Вы должны сначала сделать windowmove
и следовать по windowsize
,
В некоторых случаях, как только я это сделал, размер и положение были правильными навсегда, в других случаях приходилось запускать снова каждый раз, когда я бегал Firefox
,
Предположим, что граница есть, и компенсируйте соответственно при захвате. Если вам нужно 1024x768, установите размер экрана 1034x778 и снимите 1024x768.
Xvfb :1 -screen 0 1034x778x24 > /dev/null &
ffmpeg -t 1 -s 1024x768 -f x11grab -i :1.0+10,10 -f mjpeg screenshot.png