温馨提示×

Ubuntu VNC如何安装TigerVNC

小樊
33
2025-11-30 13:38:49
栏目: 智能运维

Ubuntu 安装与配置 TigerVNC 简明步骤

一 安装与准备

  • 更新软件包索引并安装 TigerVNC 服务器:
    • 命令:sudo apt update && sudo apt install -y tigervnc-standalone-server
  • 确认已安装桌面环境(无图形界面将无法启动桌面会话):
    • 桌面元包示例:sudo apt install -y ubuntu-desktop gnome-session(或安装 XFCEsudo apt install -y xfce4 xfce4-goodies
  • 为当前用户设置 VNC 访问密码:
    • 命令:vncpasswd(建议仅设置操作密码,不设置只读密码)
    • 密码保存在:~/.vnc/passwd

二 首次启动与端口说明

  • 启动第一个 VNC 会话(显示号 :1,对应端口 5901):
    • 命令:vncserver :1 -geometry 1920x1080 -depth 24
    • 常用参数:
      • -geometry 指定分辨率,例如 1920x1080
      • -depth 指定色深,24/32 更清晰
      • -localhost no 允许来自其他主机的连接(默认只监听 localhost
  • 查看与关闭会话:
    • 查看:vncserver -list
    • 关闭:vncserver -kill :1
  • 连接示例:在客户端输入 服务器IP:5901

三 配置 xstartup 以正确启动桌面

  • 生成并编辑会话启动脚本:
    • 命令:nano ~/.vnc/xstartup
  • 写入以下内容(按桌面环境二选一):
    • 使用 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
      exec /usr/bin/gnome-session
      
    • 使用 XFCE
      #!/bin/sh
      unset SESSION_MANAGER
      unset DBUS_SESSION_BUS_ADDRESS
      [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
      [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
      exec startxfce4
      
  • 赋予可执行权限并重启会话:
    • 命令:chmod +x ~/.vnc/xstartup && vncserver -kill :1 && vncserver :1 -geometry 1920x1080 -depth 24

四 防火墙与连接

  • 若启用 UFW,放行对应端口(示例为 5901):
    • 命令:sudo ufw allow 5901/tcp && sudo ufw enable
  • 客户端连接:
    • 地址格式:服务器IP:5901
    • 推荐工具:RealVNC Viewer、UltraVNC、MobaXterm
  • 安全建议:
    • 公网环境不建议直接开放 5901,可通过 SSH 端口转发 加密访问:
      • 命令:ssh -L 5901:localhost:5901 -C -N -l 用户名 服务器IP
      • 客户端连接改为:localhost:5901

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

  • 创建服务文件(以显示号 :1 为例):
    • 命令:sudo nano /etc/systemd/system/vncserver@.service
  • 写入以下内容(按需修改 User、分辨率与色深):
    [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 24 -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
    • 查看状态:systemctl status vncserver@1.service
  • 如需允远程直连,将服务中的 -localhost 移除或改为 -localhost no

0