我可以正常启动 xvfb 实例
Xvfb :1 -screen 0 800x600x24
然后我可以启动 Firefox 并使其正确加载,但窗口总是小于我在 xvfb 命令期间设置的分辨率。
firefox http://www.ebay.com --display=:1
您可以看到黑色条,这是全分辨率。它看起来大小符合页面要求,但永远不会完全填满。
答案1
这是一个解决方案,虽然不太好,但有效。用于在运行xdotool
后设置大小。Firefox
第一的:
xdotool search --onlyvisible firefox
这将显示单个窗口 ID,windowid
然后:
xdotool windowmove windowid 0 0
xdotool windowsize windowid 1280 720
您必须首先执行windowmove
并遵循windowsize
。
在某些情况下,一旦我这样做了,大小和位置就永远正确了,而在其他情况下,每次运行时都必须再次运行Firefox
。
答案2
假设有边框,并在捕获时进行相应补偿。如果您需要 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