sudo yum update -y # CentOS 7及以下
sudo dnf update -y # CentOS 8及以上
sudo yum groupinstall "Desktop" "Desktop Platform" -y # CentOS 7
sudo dnf groupinstall "Server with GUI" -y # CentOS 8及以上
sudo yum install tigervnc-server tigervnc-common -y # CentOS 7
sudo dnf install tigervnc-server tigervnc-common -y # CentOS 8及以上
vncpasswd命令设置VNC连接密码(至少6位,区分大小写):vncpasswd
输入密码后,系统会将密码加密保存至用户主目录的.vnc/passwd文件中(此密码仅用于VNC连接,非系统登录密码)。创建systemd服务文件(以用户your_username为例,替换为实际用户名):
sudo nano /etc/systemd/system/vncserver@:1.service
粘贴以下内容(关键参数说明:User为运行VNC的用户,WorkingDirectory为用户主目录,ExecStart指定启动命令,-geometry设置分辨率,-depth设置颜色深度):
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=your_username
Group=your_username
WorkingDirectory=/home/your_username
PIDFile=/home/your_username/.vnc/%H:1.pid
ExecStartPre=-/usr/bin/vncserver -kill :1 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -depth 24
ExecStop=/usr/bin/vncserver -kill :1
[Install]
WantedBy=multi-user.target
保存并退出(Ctrl+O→Enter→Ctrl+X)。
重新加载systemd配置:
sudo systemctl daemon-reload
启动VNC服务并设置开机自启:
sudo systemctl start vncserver@:1.service # 启动服务
sudo systemctl enable vncserver@:1.service # 开机自启
验证服务状态(确保无报错):
sudo systemctl status vncserver@:1.service
firewalld(默认开启),需允许VNC端口(5900+显示编号,如:1对应5901):sudo firewall-cmd --permanent --add-port=5901/tcp # 开放端口
sudo firewall-cmd --reload # 重新加载防火墙规则
若使用ufw(Ubuntu系统),则执行:sudo ufw allow 5901/tcp
sudo ufw reload
在客户端安装TigerVNC Viewer:
从TigerVNC官网下载对应操作系统的客户端(如Windows版tigervnc-viewer-*.exe),安装完成后打开。
输入连接地址:
在VNC Viewer的“Server”栏输入<CentOS服务器IP>:1(如192.168.1.100:1),点击“Connect”。
输入密码:
弹出窗口后,输入之前通过vncpasswd设置的VNC密码,即可远程访问CentOS桌面。
:1):vncserver -kill :1
vncserver -list
输出示例:TigerVNC server sessions:
X DISPLAY # PROCESS ID
:1 12345
~/.vnc/xstartup文件(赋予执行权限chmod +x ~/.vnc/xstartup),例如使用XFCE的配置:#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
:1端口被占用,可更换显示编号(如:2对应5902),并修改服务文件中的ExecStart参数。ssh -L 5901:localhost:5901 user@server_ip),避免密码明文传输。