温馨提示×

CentOS VNC服务怎么启动

小樊
43
2026-08-18 08:02:39
栏目: 智能运维

在 CentOS 上启动 VNC 服务,常见有两种情况:临时启动(手动)通过 systemd 开机自启。下面以 CentOS 7/8/Stream 为例说明(CentOS 6 已很少使用)。


一、安装 VNC 服务(如未安装)

# CentOS 7/8
yum install -y tigervnc-server

二、设置 VNC 密码

vncpasswd

会生成 ~/.vnc/passwd


三、启动 VNC(临时方式)

1️⃣ 启动 VNC 会话(例如 :1)

vncserver :1
  • 端口:5901
  • 配置文件:~/.vnc/xstartup

2️⃣ 停止 VNC

vncserver -kill :1

四、通过 systemd 启动(推荐)

1️⃣ 复制服务模板

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

2️⃣ 修改配置文件

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

找到这一行:

ExecStart=/usr/bin/vncserver %i

修改为(假设用户是 root,可换成普通用户):

ExecStart=/usr/bin/vncserver %i -geometry 1024x768 -depth 24

并确保:

User=root

3️⃣ 重新加载 systemd

systemctl daemon-reload

4️⃣ 启动并设置开机自启

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

5️⃣ 查看状态

systemctl status vncserver@:1

五、防火墙放行 VNC 端口

firewall-cmd --add-port=5901/tcp --permanent
firewall-cmd --reload

六、客户端连接

使用 VNC Viewer 连接:

服务器IP:1

服务器IP:5901

七、常见问题

❌ 黑屏 / 无法显示桌面

编辑 ~/.vnc/xstartup

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

然后:

chmod +x ~/.vnc/xstartup

❌ SELinux 阻止

临时关闭测试:

setenforce 0

八、CentOS 8 / Stream 补充

CentOS 8 默认可能使用 Wayland,VNC 不支持,建议:

vim /etc/gdm/custom.conf

取消注释:

WaylandEnable=false

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

  • ✅ CentOS 版本
  • ✅ 是否 root 用户
  • ✅ 是否需要多用户 VNC

我可以给你一份完全可复制执行的配置方案

0