温馨提示×

ubuntu tigervnc如何安装配置

小樊
35
2025-12-07 00:13:01
栏目: 智能运维

Ubuntu 上安装与配置 TigerVNC 的完整步骤

一 准备与安装

  • 更新索引并安装组件(桌面环境需已安装,如未安装可先安装桌面或轻量桌面如 Xfce):
    • 安装 TigerVNC:sudo apt update && sudo apt install tigervnc-standalone-server tigervnc-common
    • 可选安装桌面:sudo apt install xfce4 xfce4-goodies(轻量)或 sudo apt install ubuntu-desktop(GNOME,资源占用更高)
  • 为当前用户设置 VNC 登录密码:vncpasswd(输入并确认密码;如需修改再次执行该命令即可)。

二 配置桌面与会话启动

  • 首次运行以生成配置目录:vncserver,随后可按需停止:vncserver -kill :1
  • 编辑会话启动脚本:nano ~/.vnc/xstartup,按所用桌面选择内容并保存,最后赋权:chmod +x ~/.vnc/xstartup
    • Xfce(轻量稳定,推荐):
      #!/bin/sh
      unset SESSION_MANAGER
      unset DBUS_SESSION_BUS_ADDRESS
      exec startxfce4
      
    • GNOME(Ubuntu 默认,资源占用更高):
      #!/bin/sh
      unset SESSION_MANAGER
      unset DBUS_SESSION_BUS_ADDRESS
      [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
      [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
      xsetroot -solid grey
      vncconfig -iconic &
      x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
      gnome-session &
      
  • 说明:VNC 显示号与端口映射为 :1 → 5901,:2 → 5902;如需指定分辨率与色深,可在启动时添加参数(见下一节)。

三 启动与连接

  • 手动启动(适合测试):
    • 示例:vncserver :1 -geometry 1920x1080 -depth 32 -localhost no
    • 查看会话:vncserver -list;停止会话:vncserver -kill :1
  • 连接客户端:
    • 直接连接(仅当启动时未加 -localhost no 或已放行端口):服务器IP:5901
    • 推荐通过 SSH 隧道加密(更安全):本地执行
      • 命令:ssh -L 5901:localhost:5901 -C -N -l 用户名 服务器IP
      • 客户端连接:localhost:5901
  • 防火墙放行(如启用 UFW):sudo ufw allow 5901/tcp;如需放行多个显示号,按需放行 5902/5903…

四 配置 systemd 开机自启(可选)

  • 创建服务文件:sudo nano /etc/systemd/system/vncserver@.service,示例(按需修改用户名、分辨率与色深):
    [Unit]
    Description=Start TigerVNC server at startup
    After=syslog.target network.target
    
    [Service]
    Type=forking
    User=你的用户名
    Group=你的用户名
    WorkingDirectory=/home/你的用户名
    PIDFile=/home/你的用户名/.vnc/%H:590%i.pid
    ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
    ExecStart=/usr/bin/vncserver -depth 32 -geometry 1920x1080 -localhost :%i
    ExecStop=/usr/bin/vncserver -kill :%i
    
    [Install]
    WantedBy=multi-user.target
    
  • 启用与启动:
    • 重新加载:sudo systemctl daemon-reload
    • 开机自启并立即启动:sudo systemctl enable --now vncserver@1.service
    • 查看状态:sudo systemctl status vncserver@1.service
  • 多用户/多实例:为每个显示号创建对应服务(如 vncserver@2.service),并确保各用户各自的 ~/.vnc/xstartup 与会话配置正确。

五 常见问题与排查

  • 端口占用或残留锁文件:
    • 查看:vncserver -list
    • 停止:vncserver -kill :1
    • 清理残留:rm -f /tmp/.X11-unix/X1(对应显示号),再启动
  • 灰屏/黑屏或无桌面:
    • 检查 ~/.vnc/xstartup 是否可执行且桌面命令正确(如 exec startxfce4gnome-session &
    • 确认已安装对应桌面环境(如 xfce4ubuntu-desktop/gnome-session
  • 只允许本地访问更安全:
    • 启动参数加 -localhost(默认仅 127.0.0.1 可连),外部访问通过 SSH 隧道转发 5901 端口
  • 客户端连不上:
    • 核对服务器防火墙是否放行 5901/tcp,或改用 SSH 隧道
    • 核对显示号与端口对应关系(:1 → 5901)。

0