Xvfb - 浏览器窗口不适合显示

6
我在使用Python库pyvirtualdisplay,并依赖于Xvfb来运行一个虚拟显示器上的浏览器。问题是,我需要将该浏览器最大化,但似乎一直没有成功。我启动一个大小为1024x768的显示器,但是浏览器只占屏幕的一部分,且不能最大化。我甚至尝试使用打开时最大化的标志运行浏览器(google-chrome -start-maximized),但仍然不成功。由于没有最大化窗口的按钮,因此我尝试按F11进入全屏模式,但仍然只占屏幕的同一部分。
以下为结果截图:

enter image description here

以下是我用于启动显示器的代码:
from pyvirtualdisplay import Display

Display(visible=1, size=(1024,768)).start()
3个回答

5

针对您的Chrome参数,指定大小和位置:

chromium browser --window-size=1280,720 --window-position=0,0

1
这确实帮助我消除了 Chromium 浏览器周围的黑边框。最终,我运行了“--window-position=0,0 --window-size=375,375”,这迫使浏览器周围的10像素黑边框消失了。非常感谢,Brad! - Kristoffer Berg - EcodeAS
非常出色 - 像魔法一样运行,无需像Fluxbox那样运行和跟踪额外的程序。 - cmc

3
问题在于我没有使用窗口管理器,因此安装一个轻量级的窗口管理器Fluxbox并在启动虚拟显示后运行它即可解决问题。

2
我遇到了同样的问题。如果您不想使用完整的窗口管理器,以下方法应该可以很好地解决:
import Xlib
import Xlib.display

### Create virtual display and open the browser here ###

dpy = Xlib.display.Display()
root = dpy.screen().root
geometry = root.get_geometry()
for win in root.query_tree().children:
    win.configure(x = 0, y = 0,
        width = geometry.width, height = geometry.height)
dpy.sync()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接