【发布时间】:2011-09-15 10:01:10
【问题描述】:
简单问题:有没有办法调整 Xvfb 显示的大小?
我尝试使用 RandR,但似乎 Xvfb 不支持 RandR 扩展。还有其他方法可以调整屏幕大小吗?
感谢您的帮助!
【问题讨论】:
标签: x11 vnc vnc-server xvfb xrandr
简单问题:有没有办法调整 Xvfb 显示的大小?
我尝试使用 RandR,但似乎 Xvfb 不支持 RandR 扩展。还有其他方法可以调整屏幕大小吗?
感谢您的帮助!
【问题讨论】:
标签: x11 vnc vnc-server xvfb xrandr
您可以使用 server-args 命令行参数为正在创建的虚拟帧缓冲区指定自定义分辨率,但这不会更改现有虚拟帧缓冲区的分辨率:
xvfb-run --server-args="-screen 0, 1024x768x24" ...
【讨论】:
Xvfb :1 -screen 0 100x100x16 -fbdir /tmp,您将在/tmp 中拥有Xvfb_screen0 二进制文件。但是,此文件的工作方式与/dev/fb0 不同,运行sudo fbset -fb /tmp/Xvfb_screen0 -xres 500 -yres 500 会给出错误ioctl FBIOGET_VSCREENINFO: Inappropriate ioctl for device。问题是:“有什么方法可以改变正在运行的 Xvfb 服务器分辨率”?
现在大多数发行版都发布了支持 randr 的 Xvfb 版本。 代码于 2015 年底提交vfb: add randr support (v2)。
要调整大小,您首先需要定义一个新模式(您可以使用 gtf 之类的工具来获取模式行定义值),将其添加到虚拟输出,然后您可以切换到它。
即 1280x1024:
xrandr --newmode "1280x1024" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
xrandr --addmode screen 1280x1024
xrandr -s 1280x1024
【讨论】: