![在运行时更改 Xvfb 帧缓冲区分辨率](https://linux22.com/image/90202/%E5%9C%A8%E8%BF%90%E8%A1%8C%E6%97%B6%E6%9B%B4%E6%94%B9%20Xvfb%20%E5%B8%A7%E7%BC%93%E5%86%B2%E5%8C%BA%E5%88%86%E8%BE%A8%E7%8E%87.png)
答案1
我不确定 Xvfb 是否支持调整大小。如果您的主要兴趣是 VNC,也许您应该尝试老虎VNC。它是一个支持 RandR 和 Xinerama 的现代 VNC 服务器。屏幕调整大小和多个显示器在 TigerVNC 中运行得很好。
答案2
通过指定−fbdir
范围,它正在创造包含帧缓冲内存的内存映射文件,不是帧缓冲设备。
根据fbset
手动的,-fb
仅接受帧缓冲区设备节点,而不接受内存映射文件。所以我相信正确的语法是:
fbset -fb /dev/fb0 500x500
/dev/fb0
你的帧缓冲设备在哪里(例如/dev/fb/0
或/dev/fb0
)。
为了让 X 知道帧缓冲设备,定义FRAMEBUFFER
变量,例如
export FRAMEBUFFER=/dev/fb0
也可以看看man fbdev
更多细节。
要阅读/tmp/Xvfb_screen0
,您应该使用xwud
命令,例如
xwud -in /var/tmp/Xvfb_screen0
这将显示服务器的屏幕 0。
很可能无法更改现有 X 服务器上的分辨率,因此您可能需要重新运行 Xvfb 服务器,或调用具有不同分辨率的另一个屏幕。