You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在VNC会话中仅显示单个显示器?(Linux Mint 18+x11vnc+Nvidia环境)

解决x11vnc连接多屏Nvidia桌面刷新率低的问题(仅显示单个显示器)

没问题!这种三屏扩展桌面通过VNC传输时,超高的总分辨率确实会大幅拖慢刷新率,咱们可以通过两种方式实现仅连接单个显示器,下面分步骤说明:

方法一:直接让x11vnc仅捕获单个显示器画面(无需修改Nvidia配置)

这个方法最灵活,不用动系统的显示布局,只需要告诉x11vnc抓取指定区域:

  1. 获取显示器的坐标和分辨率
    打开终端运行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就是第一个显示器的分辨率和左上角坐标,记下来这个值。

  2. 启动x11vnc时指定捕获区域
    -clip参数指定要抓取的屏幕区域,比如要连接第一个HDMI-0显示器,就运行:

    x11vnc -clip 1920x1080+0+0 -display :0
    
    • -display :0指定连接系统默认的X显示(大部分情况都是:0)
    • -clip后面的格式是宽度x高度+X坐标+Y坐标,对应你刚才从xrandr里拿到的值。
  3. (可选)配置成默认启动参数
    如果不想每次都输参数,可以创建~/.x11vncrc文件,写入:

    clip 1920x1080+0+0
    display :0
    

    这样以后直接运行x11vnc就会自动用这个配置。

方法二:调整Nvidia驱动,创建独立X桌面(适合长期单独使用某显示器)

如果需要长期单独远程某一个显示器,可以把该显示器设置为独立的X屏幕,这样x11vnc连接对应的X显示即可:

  1. 打开Nvidia设置工具
    终端运行nvidia-settings,或者从系统菜单里找到「Nvidia X Server Settings」打开。

  2. 设置独立X屏幕

    • 切换到「X Server Display Configuration」标签页,点击右下角的「Advanced...」,勾选「Force Full Composition Pipeline」(可选,优化显示流畅度)。
    • 选中你想要单独连接的显示器,点击「Configure...」按钮,选择「Separate X screen (requires restarting X)」,然后点击「Apply」。
    • 系统会提示你保存配置并重启X服务(或重新登录),确认后生效。
  3. 连接独立X屏幕
    重启后,每个独立的X屏幕会对应不同的display编号,比如原来的主屏幕是:0,新的独立屏幕可能是:1:2。你可以用xrandr --listmonitors确认,或者直接尝试:

    x11vnc -display :1
    

    然后用Mac的VNC Viewer连接,此时只会显示这个独立的X桌面,因为分辨率仅单屏大小,刷新率会显著提升。

注意:独立X屏幕模式下,不同屏幕之间无法拖拽窗口,是完全独立的桌面环境,适合专门用来远程操作的场景。

额外小贴士

  • 测试时建议先在本地终端启动x11vnc,查看输出有没有报错,确保参数正确后再用VNC Viewer连接。
  • 如果用方法一,当显示器的布局或分辨率改变时,记得更新-clip参数的值。

内容的提问来源于stack exchange,提问作者Ciaran

火山引擎 最新活动