CentOS系统搭建VNC虚拟机及远程连接指南
sudo yum update -y。egrep -c '(vmx|svm)' /proc/cpuinfo,结果>0则表示支持),并在BIOS中启用虚拟化功能(如Intel VT-x或AMD-V)。VNC服务器用于接收远程连接请求,推荐使用TigerVNC(兼容性好、性能优):
sudo yum install tigervnc-server -y
为VNC连接创建访问密码(仅本地用户可设置):
vncpasswd
按提示输入并确认密码(密码长度需≥6位,区分大小写)。
复制系统模板并修改为用户专属配置(以your_username替换为实际用户名,如root):
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
sudo vim /etc/systemd/system/vncserver@:1.service
修改以下内容(关键参数说明见注释):
[Unit]
Description=Remote desktop service (VNC) for user %u
After=syslog.target network.target
[Service]
Type=forking
User=your_username
Group=your_username
WorkingDirectory=/home/your_username
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :
ExecStart=/usr/bin/vncserver :%i -geometry 1280x800 -depth 24
ExecStop=/usr/bin/vncserver -kill :%i
PIDFile=/home/your_username/.vnc/%H%i.pid
[Install]
WantedBy=multi-user.target
:1:表示VNC显示编号(对应端口5901,计算公式:5900+显示编号);-geometry 1280x800:设置桌面分辨率为1280×800(可根据需求调整);-depth 24:设置颜色深度为24位(支持真彩色)。sudo systemctl daemon-reload # 重载systemd配置
sudo systemctl start vncserver@:1.service # 启动VNC服务(显示编号:1)
sudo systemctl enable vncserver@:1.service # 设置开机自启
若虚拟机未安装桌面环境,需先安装(以GNOME为例,适用于CentOS 7/8):
sudo yum groupinstall "X Window System" "GNOME Desktop" -y
编辑用户目录下的.vnc/xstartup文件(若不存在则创建),添加桌面环境启动命令:
mkdir -p ~/.vnc
vim ~/.vnc/xstartup
添加以下内容(以GNOME为例):
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc
保存后赋予执行权限:
chmod +x ~/.vnc/xstartup
开放VNC服务端口(5901对应显示编号:1,若使用:2则开放5902):
sudo firewall-cmd --permanent --add-port=5901/tcp # 开放端口
sudo firewall-cmd --reload # 重载防火墙
宿主机IP地址:显示编号(如192.168.1.100:1),点击“Connect”。sudo systemctl status vncserver@:1.service;sudo firewall-cmd --list-ports;vncpasswd重新设置。.vnc/xstartup文件是否配置正确(需指向桌面环境启动命令)。5901已被占用,可修改VNC服务配置文件中的显示编号(如:2对应5902),并重启服务。通过以上步骤,即可在CentOS系统上搭建VNC虚拟机,并实现远程桌面连接。如需管理多个虚拟机,可重复上述步骤,为每个虚拟机分配不同的显示编号(如:2、:3),并对应开放不同端口。