温馨提示×

Linux TigerVNC配置步骤是什么

小樊
43
2025-12-10 18:26:05
栏目: 智能运维

Linux TigerVNC配置步骤

一 准备与安装

  • 准备图形环境:确保系统已安装桌面(如 GNOMEXfce),并以图形目标运行(例如 systemctl set-default graphical.target;RHEL/CentOS 可执行 yum groupinstall “Server with GUI”)。
  • 安装 TigerVNC:
    • RHEL/CentOS/兼容发行版:yum install tigervnc-server(或 tigervnc-server-minimal 等组件)。
    • Debian/Ubuntu:apt install tigervnc-standalone-server tigervnc-common
  • 说明:TigerVNC 采用 client-server 模式,服务端以 Xvnc 提供虚拟桌面,客户端使用 vncviewer 连接。

二 服务端配置

  • 设置 VNC 密码:切换到目标系统用户后执行 vncpasswd,按提示设置访问密码(可选设置仅查看密码)。
  • 配置桌面会话(xstartup):编辑用户家目录的 ~/.vnc/xstartup,确保可执行并启动所需桌面,例如:
    • Xfce 示例:
      #!/bin/sh
      unset SESSION_MANAGER
      unset DBUS_SESSION_BUS_ADDRESS
      (sleep 5 && export DISPLAY=:1 && xfce4-session) &
      
    • GNOME 示例:
      #!/bin/sh
      unset SESSION_MANAGER
      unset DBUS_SESSION_BUS_ADDRESS
      vncconfig -iconic &
      dbus-launch --exit-with-session gnome-session &
      
  • 使配置生效:chmod +x ~/.vnc/xstartup

三 systemd 服务与多用户

  • 创建服务单元:复制模板并定制用户与参数(以显示号 :1 为例)
    • RHEL/CentOS 7 系列常用做法:
      cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
      # 编辑 ExecStart,将 USER 替换为实际用户,例如:
      # ExecStart=/usr/sbin/runuser -l alice -c "/usr/bin/vncserver %i -geometry 1280x1024 -depth 24"
      # PIDFile=/home/alice/.vnc/%H%i.pid
      systemctl daemon-reload
      
    • 部分新发行版(如 CTyunOS/openEuler)使用集中配置:
      • 编辑 /etc/tigervnc/vncserver-config-defaults(如设置 session、securitytypes、geometry、是否仅本地访问 localhost)。
      • 编辑 /etc/tigervnc/vncserver.users 映射显示号与用户(例如 :1=root)。
  • 启动与开机自启:
    systemctl start vncserver@:1.service
    systemctl enable vncserver@:1.service
    
  • 多用户:为不同用户创建各自的服务单元(如 vncserver@:2.service)或在 vncserver.users 中分配不同显示号,分别设置密码并启动对应服务。

四 端口 防火墙 与安全

  • 端口映射:显示号 :N 对应端口 5900+N(例如 :1 → 5901)。
  • 防火墙放行:
    • firewalld:firewall-cmd --permanent --add-port=5901/tcp && firewall-cmd --reload
    • ufw:ufw allow 5901/tcp
  • 云环境:在云平台安全组放行 TCP 5901
  • 安全建议:
    • 避免使用 root 直接提供桌面;必要时仅开放本地回环,配合 SSH 隧道
      ssh -L 5901:127.0.0.1:5901 user@server_ip
      # 客户端连接 localhost:1
      
    • 按需调整 /etc/tigervnc/vncserver-config-defaults 中的 securitytypes(如 vncauth,tlsvnc)。

五 客户端连接与常用操作

  • 连接:使用 vncviewer 或 RealVNC Viewer 连接 server_ip:1(或 server_ip:5901)。若走 SSH 隧道,则连接 localhost:1
  • 常用操作:
    • 查看与终止会话:
      vncserver -list
      vncserver -kill :1
      
    • 停止/禁用服务:
      systemctl stop vncserver@:1.service
      systemctl disable vncserver@:1.service
      
    • 排查:确认服务状态 systemctl status vncserver@:1.service,检查端口监听 netstat -ntlp | grep 5901

0