如何在VNC会话中仅显示单个显示器?(Linux Mint 18+x11vnc+Nvidia环境)
解决x11vnc连接多屏Nvidia桌面刷新率低的问题(仅显示单个显示器)
没问题!这种三屏扩展桌面通过VNC传输时,超高的总分辨率确实会大幅拖慢刷新率,咱们可以通过两种方式实现仅连接单个显示器,下面分步骤说明:
方法一:直接让x11vnc仅捕获单个显示器画面(无需修改Nvidia配置)
这个方法最灵活,不用动系统的显示布局,只需要告诉x11vnc抓取指定区域:
获取显示器的坐标和分辨率
打开终端运行xrandr,输出里会列出所有显示器的信息,比如类似这样:HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 531mm x 299mm DP-0 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 531mm x 299mm DP-1 connected 1920x1080+3840+0 (normal left inverted right x axis y axis) 531mm x 299mm这里
1920x1080+0+0就是第一个显示器的分辨率和左上角坐标,记下来这个值。启动x11vnc时指定捕获区域
用-clip参数指定要抓取的屏幕区域,比如要连接第一个HDMI-0显示器,就运行:x11vnc -clip 1920x1080+0+0 -display :0-display :0指定连接系统默认的X显示(大部分情况都是:0)-clip后面的格式是宽度x高度+X坐标+Y坐标,对应你刚才从xrandr里拿到的值。
(可选)配置成默认启动参数
如果不想每次都输参数,可以创建~/.x11vncrc文件,写入:clip 1920x1080+0+0 display :0这样以后直接运行
x11vnc就会自动用这个配置。
方法二:调整Nvidia驱动,创建独立X桌面(适合长期单独使用某显示器)
如果需要长期单独远程某一个显示器,可以把该显示器设置为独立的X屏幕,这样x11vnc连接对应的X显示即可:
打开Nvidia设置工具
终端运行nvidia-settings,或者从系统菜单里找到「Nvidia X Server Settings」打开。设置独立X屏幕
- 切换到「X Server Display Configuration」标签页,点击右下角的「Advanced...」,勾选「Force Full Composition Pipeline」(可选,优化显示流畅度)。
- 选中你想要单独连接的显示器,点击「Configure...」按钮,选择「Separate X screen (requires restarting X)」,然后点击「Apply」。
- 系统会提示你保存配置并重启X服务(或重新登录),确认后生效。
连接独立X屏幕
重启后,每个独立的X屏幕会对应不同的display编号,比如原来的主屏幕是:0,新的独立屏幕可能是:1或:2。你可以用xrandr --listmonitors确认,或者直接尝试:x11vnc -display :1然后用Mac的VNC Viewer连接,此时只会显示这个独立的X桌面,因为分辨率仅单屏大小,刷新率会显著提升。
注意:独立X屏幕模式下,不同屏幕之间无法拖拽窗口,是完全独立的桌面环境,适合专门用来远程操作的场景。
额外小贴士
- 测试时建议先在本地终端启动x11vnc,查看输出有没有报错,确保参数正确后再用VNC Viewer连接。
- 如果用方法一,当显示器的布局或分辨率改变时,记得更新
-clip参数的值。
内容的提问来源于stack exchange,提问作者Ciaran




