温馨提示×

centos vnc如何自启动

小樊
46
2026-09-02 16:58:12
栏目: 智能运维

在 CentOS 上让 VNC 开机自启动,通常有两种常见方式:

  • 系统服务方式(推荐,CentOS 7/8)
  • rc.local 方式(简单但不推荐)

下面以 TigerVNC 为例说明。


一、使用 systemd 自启动(推荐)

1. 安装 VNC

yum install -y tigervnc-server

2. 设置 VNC 密码

vncpasswd

3. 复制 VNC 服务模板

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

:1 表示 VNC 端口 5901

4. 修改服务文件

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

找到这一行:

ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"

改为你的用户名,例如:

ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"

(不建议用 root,普通用户更安全)

5. 重新加载并启用

systemctl daemon-reload
systemctl enable vncserver@:1.service
systemctl start vncserver@:1.service

6. 验证

systemctl status vncserver@:1.service

重启后 VNC 会自动启动。


二、使用 rc.local(不推荐但简单)

1. 编辑 rc.local

vi /etc/rc.d/rc.local

添加:

su - youruser -c "/usr/bin/vncserver :1"

2. 赋予执行权限

chmod +x /etc/rc.d/rc.local

三、防火墙(可选但重要)

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

四、常见问题

  • 黑屏:需配置 ~/.vnc/xstartup
  • 无法连接:检查防火墙 / SELinux
  • CentOS 8:命令类似,注意 dnf

如果你告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 使用用户(root 或普通用户)

我可以给你一份 精确可直接用的配置

0