【问题标题】:Resizing an Xvfb display调整 Xvfb 显示的大小
【发布时间】:2011-09-15 10:01:10
【问题描述】:

简单问题:有没有办法调整 Xvfb 显示的大小?

我尝试使用 RandR,但似乎 Xvfb 不支持 RandR 扩展。还有其他方法可以调整屏幕大小吗?

感谢您的帮助!

【问题讨论】:

标签: x11 vnc vnc-server xvfb xrandr


【解决方案1】:

您可以使用 server-args 命令行参数为正在创建的虚拟帧缓冲区指定自定义分辨率,但这不会更改现有虚拟帧缓冲区的分辨率:

xvfb-run --server-args="-screen 0, 1024x768x24" ...

【讨论】:

  • 那么如何更改现有的虚拟帧缓冲区?
  • 我不确定。
  • @totaam 是的,它已被标记为离题。简而言之,运行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 服务器分辨率”?
  • @Jezor 我上面的回答就是这样做的。不要在 vfb 上使用 fbset,你必须使用 xrandr。
【解决方案2】:

现在大多数发行版都发布了支持 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 2013-01-05
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    相关资源
    最近更新 更多