温馨提示×

CentOS下Tigervnc远程桌面如何设置

小樊
36
2025-12-17 12:19:52
栏目: 智能运维

CentOS 下 TigerVNC 远程桌面设置指南

一 环境准备

  • 确认系统已安装图形界面(以 CentOS 7 为例):
    • 安装图形化软件组:sudo yum groupinstall "Server with GUI" -y
    • 设置默认启动为图形目标:sudo systemctl set-default graphical.target
    • 若已安装图形界面,可立即切换:sudo systemctl start graphical.target
  • 安装 TigerVNC 服务端:sudo yum install -y tigervnc-server tigervnc

二 安装与首次配置

  • 创建用于登录的普通用户(推荐):sudo useradd vncuser && sudo passwd vncuser
  • 切换到该用户并设置 VNC 连接密码:su - vncuser 后执行 vncpasswd
  • 准备 systemd 服务单元(以显示号 :1 为例):
    • 复制模板:sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
    • 编辑该文件,将 User= 设为 vncuser,并修改 ExecStart 以指定分辨率与色深,例如:
      • ExecStart=/sbin/runuser -l vncuser -c "/usr/bin/vncserver %i -geometry 1024x768 -depth 24"
  • 重新加载 systemd 并启用服务:
    • sudo systemctl daemon-reload
    • sudo systemctl enable --now vncserver@:1.service
  • 端口说明:显示号 :N 对应端口 5900+N,因此 :1 对应 5901

三 防火墙与云安全组

  • firewalld(系统防火墙)放行端口:
    • 放行 5901/tcpsudo firewall-cmd --permanent --add-port=5901/tcp
    • 重新加载:sudo firewall-cmd --reload
  • 云服务器(如 火山引擎)需在控制台安全组入站规则放行 TCP 5901

四 客户端连接

  • 使用 TigerVNC Viewer / RealVNC Viewer 连接:地址填写 服务器IP:1(等价于 IP:5901),随后输入第 步设置的 VNC 密码
  • 多用户场景:为每个用户分配不同的显示号(如 :1、:2),分别创建对应的 systemd 服务单元并放行相应端口(5901、5902……)

五 常见问题与优化

  • 桌面环境未启动或灰屏:检查用户家目录的 ~/.vnc/xstartup,确保启动对应桌面会话,例如 GNOME
    • 示例内容:
      #!/bin/sh
      [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
      [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
      vncconfig -iconic &
      dbus-launch --exit-with-session gnome-session &
      
    • 赋予可执行权限:chmod +x ~/.vnc/xstartup,然后重启服务:sudo systemctl restart vncserver@:1.service
  • 安全性建议:
    • 避免直接对公网开放 5901,可通过 SSH 隧道加密转发:
      • 本地执行:ssh -L 5901:localhost:5901 vncuser@服务器IP
      • 客户端连接:localhost:1
    • 或在 VNC 启动参数中限制为本地访问并配合 SSH 隧道(例如使用 -localhost 参数后再通过 SSH 转发)

0