温馨提示×

如何使用TigerVNC远程控制CentOS

小樊
42
2026-01-10 05:15:59
栏目: 智能运维

使用 TigerVNC 远程控制 CentOS 的完整步骤

一 准备与安装

  • 确认系统版本:常见为 CentOS 7/8。如无图形界面,先安装 GNOME 桌面(以 root 执行):
    • CentOS 7:sudo yum groupinstall “Server with GUI”;sudo systemctl set-default graphical.target;sudo systemctl start graphical.target
    • CentOS 8:sudo dnf groupinstall “Server with GUI”
  • 安装 TigerVNC 服务器:
    • CentOS 7:sudo yum -y install tigervnc-server tigervnc
    • CentOS 8:sudo dnf install tigervnc-server
  • 建议创建专用系统用户(示例:vncuser)并切换到该用户设置 VNC 密码:
    • useradd vncuser;passwd vncuser
    • su - vncuser;vncpasswd(密码需 ≥ 6 位;可设置仅查看密码)

二 配置 VNC 服务

  • 方式 A(CentOS 7 常用):基于 systemd 模板创建服务单元
    • 复制模板:sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
    • 编辑 ExecStart,指定用户与分辨率(示例为 vncuser):
      • ExecStart=/sbin/runuser -l vncuser -c “/usr/bin/vncserver %i -geometry 1280x1024 -depth 24”
    • 重新加载并启动:
      • sudo systemctl daemon-reload
      • sudo systemctl start vncserver@:1.service
      • sudo systemctl enable vncserver@:1.service
  • 方式 B(CentOS 8 常用):使用 /etc/tigervnc/vncserver.users 映射用户与显示号
    • 配置映射(示例将 :10 映射给用户 haicheng):echo “:10=haicheng” | sudo tee -a /etc/tigervnc/vncserver.users
    • 为用户创建 ~/.vnc/config(指定会话与桌面大小,并仅本地回环):
      • session=gnome
      • geometry=1920x1200
      • localhost
    • 启动服务(:10 对应端口 5910 = 5900 + 10):
      • sudo systemctl enable vncserver@:10 --now
  • 桌面会话与 xstartup(如未自动使用 GNOME,可在 ~/.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

三 防火墙与端口

  • 端口规则:显示号 :N 对应 5900+N(如 :1 → 5901)。开放端口示例:
    • firewalld:sudo firewall-cmd --add-port=5901/tcp --permanent;sudo firewall-cmd --reload
    • 云主机需同时放行云厂商安全组 TCP 5901
  • 安全建议:生产环境优先通过 SSH 隧道转发 VNC(仅开放本地回环),在客户端使用“Via SSH”方式连接,避免明文暴露 5901:
    • 服务端启动限制为本地:在 vncserver 参数或 ~/.vnc/config 中加入 localhost
    • 客户端:vncviewer -via 用户名@服务器IP localhost:1

四 客户端连接与常用操作

  • 连接地址格式:服务器IP:5901(对应 :1)、IP:5910(对应 :10)。可用客户端:TigerVNC ViewerRealVNC Viewer
  • 常用运维命令(以 :1 为例):
    • 查看会话:vncserver -list
    • 结束会话:vncserver -kill :1
    • 重启服务:systemctl restart vncserver@:1.service
  • 多用户扩展:为不同用户分配不同显示号(如 :2、:3…),对应端口 5902、5903…;按需为每个用户重复“设置密码 + 配置服务/映射 + 防火墙放行”。

五 常见问题排查

  • 连接被拒绝或无界面:确认服务已启动(systemctl status)、端口已放行(ss -tulpn | grep vnc)、以及客户端地址书写为 IP:590N;若使用云主机,检查安全组。
  • 黑屏或仅壁纸:检查 ~/.vnc/xstartup 是否包含正确的桌面会话(如 gnome-sessionstartxfce4),并确认已赋予可执行权限。
  • 端口不对或冲突:显示号与端口为 5900+N 关系;如端口被占用,换用 :2/:3 并相应放行 5902/5903
  • 安全性不足:避免直接暴露 5901,建议启用 localhost 限制并通过 SSH 隧道访问。

0