温馨提示×

ubuntu如何配置tigervnc分辨率

小樊
41
2026-01-01 13:38:03
栏目: 智能运维

Ubuntu 下 TigerVNC 分辨率配置

一 临时指定分辨率

  • 启动会话时直接通过命令行设置,例如将显示编号为 :1 的会话设为 1920×1080
    vncserver :1 -geometry 1920x1080
    
    显示编号与端口的对应关系为:显示 :N 对应端口 5900+N(如 :1 → 5901)。如需允许非本机连接,可加 -localhost no;如需设置 DPI,可加 -dpi 96。示例:
    vncserver :1 -geometry 1920x1080 -localhost no -dpi 96
    
    调整后可用 vncserver -list 查看会话与端口,用 vncserver -kill :1 关闭指定会话再重开以生效。

二 持久化默认分辨率

  • 方法一 使用用户级配置文件 ~/.vnc/config
    1. 先关闭现有会话:vncserver -kill :1
    2. 编辑或创建配置文件:
      mkdir -p ~/.vnc
      nano ~/.vnc/config
      
    3. 写入期望分辨率(可写多个,按优先级生效):
      geometry=1920x1080
      # geometry=1280x720
      
    4. 保存后重开会话:vncserver :1
  • 方法二 使用 systemd 服务文件(适用于开机自启)
    1. 创建服务文件(以用户 ubuntu 为例):
      sudo nano /etc/systemd/system/vncserver@:1.service
      
    2. 写入内容(注意在 ExecStart 的 vncserver 命令中显式写入 -geometry):
      [Unit]
      Description=TigerVNC Server :1
      After=graphical.target
      
      [Service]
      Type=oneshot
      RemainAfterExit=yes
      User=ubuntu
      ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -localhost no
      ExecStop=/usr/bin/vncserver -kill :1
      
      [Install]
      WantedBy=multi-user.target
      
    3. 使配置生效并启用开机自启:
      sudo systemctl daemon-reload
      sudo systemctl enable --now vncserver@:1.service
      
    提示:若使用 systemd,务必把分辨率参数写入 ExecStartvncserver 命令中,避免被默认配置覆盖。

三 连接与端口说明

  • 连接地址格式:服务器IP:端口服务器IP::显示编号(简写为 :1 的端口是 5901)。例如:192.168.1.10:5901192.168.1.10::1
  • 为提升安全性,建议通过 SSH 隧道转发端口后再连接:
    ssh -L 5901:127.0.0.1:5901 -N -f -l username 服务器IP
    
    本地 VNC 客户端连接 localhost:5901 即可。

四 常见问题与排查

  • 分辨率未生效:先 vncserver -kill :1 再启动;若使用 systemd,确认 ExecStart 中已包含 -geometry 参数。
  • 客户端里改分辨率无效:部分桌面环境在 VNC 会话中不支持动态切换,需在服务端启动时设定或通过配置文件持久化。
  • 日志与排错:查看 ~/.vnc/*.log 定位启动失败原因(如权限、桌面环境未安装等)。
  • 桌面环境差异:若使用 Xfce~/.vnc/xstartup 中通常以 exec startxfce4 & 结尾;若是 GNOME,可用 gnome-session &。确保已安装对应桌面并在 xstartup 中正确启动。

0