温馨提示×

CentOS VNC如何启动

小樊
33
2026-08-29 12:05:34
栏目: 智能运维

在 CentOS 上启动 VNC,常见有两种主要场景:临时/手动启动 VNC Server配置为系统服务(推荐)。下面以 CentOS 7/8 为例说明。


一、准备工作(一次即可)

1. 安装桌面环境(如果未安装)

# CentOS 7
yum groupinstall "GNOME Desktop" -y

# CentOS 8
dnf groupinstall "Server with GUI" -y

2. 安装 VNC Server

# CentOS 7
yum install tigervnc-server -y

# CentOS 8
dnf install tigervnc-server -y

二、配置 VNC(设置密码)

vncpasswd

密码保存在:

~/.vnc/passwd

三、方式一:手动启动 VNC(简单但不推荐生产)

1. 启动 VNC

vncserver :1

说明:

  • :1 表示 5901 端口
  • :2 → 5902,以此类推

2. 查看运行状态

vncserver -list

3. 停止 VNC

vncserver -kill :1

四、方式二:配置为 systemd 服务(推荐 ✅)

1. 复制服务文件

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

如果是 CentOS 8,路径可能为 /usr/lib/systemd/system/vncserver@.service


2. 修改配置文件

vi /etc/systemd/system/vncserver@:1.service

修改以下两行(假设用户是 root,你可换成普通用户):

User=root
ExecStart=/usr/bin/vncserver -geometry 1024x768 -depth 24 :1

如果是普通用户(如 test):

User=test
PIDFile=/home/test/.vnc/%H:%i.pid

3. 重新加载 systemd

systemctl daemon-reexec
systemctl daemon-reload

4. 启动并设置开机自启

systemctl start vncserver@:1
systemctl enable vncserver@:1

查看状态:

systemctl status vncserver@:1

五、防火墙放行(非常重要)

# CentOS 7/8
firewall-cmd --permanent --add-port=5901/tcp
firewall-cmd --reload

六、Windows 如何连接

  • 使用 VNC Viewer / RealVNC / TightVNC
  • 地址填写:
服务器IP:1
或
服务器IP:5901

七、常见问题

1. 灰屏 / 无法进入桌面

检查 .vnc/xstartup

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec gnome-session &

给予执行权限:

chmod +x ~/.vnc/xstartup

2. 多用户多端口

  • 用户 A::1 (5901)
  • 用户 B::2 (5902)

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 是否 root 用户
  • ✅ 是否需要多用户

我可以给你一份 完全适合你服务器的配置示例

0