无法让 Firefox 在无头 xvfb 实例中呈现正确的大小

无法让 Firefox 在无头 xvfb 实例中呈现正确的大小

我可以正常启动 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

相关内容