CentOS 7 VNC 远程桌面配置
适用环境
- CentOS 7 系统
- 已安装图形桌面环境(GNOME/KDE)
- 网络连接正常
配置步骤
1. 安装VNC服务器
bash
# 安装TigerVNC服务器
sudo yum install tigervnc-server tigervnc-server-module -y
2. 安装桌面环境(如果未安装)
bash
sudo yum groupinstall "GNOME Desktop" "Graphical Administration Tools" -y
3. 设置VNC密码
bash
vncpasswd
# 输入密码并确认
4. 配置VNC服务
bash
# 复制配置文件
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
# 编辑配置文件,将<USER>替换为实际用户名
sudo vim /etc/systemd/system/vncserver@:1.service
修改配置文件内容 :
找到并修改这两行:
ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
例如,使用root用户:
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/home/root/.vnc/%H%i.pid
5. 启动VNC服务
bash
# 重新加载systemd
sudo systemctl daemon-reload
# 启动VNC服务(:1表示5901端口)
sudo systemctl start vncserver@:1.service
# 设置开机自启
sudo systemctl enable vncserver@:1.service
6. 配置防火墙(可选)
如果防火墙开启,需要开放VNC端口:
bash
# 开放5901端口
sudo firewall-cmd --permanent --add-port=5901/tcp
sudo firewall-cmd --reload
7. 连接方式
- 下载VNC Viewer客户端:https://www.realvnc.com/en/connect/download/viewer/
- 安装并打开VNC Viewer
- 输入连接地址:
CentOS_IP:5901或CentOS_IP:1 - 输入之前设置的VNC密码
- 点击"Connect"连接
常见问题排查
| 问题 | 解决方法 |
|---|---|
| 连接黑屏 | 检查桌面环境是否正确安装,重启VNC服务 |
| 连接被拒绝 | 检查防火墙是否开放5901端口,或临时关闭防火墙测试 |
| 密码错误 | 重新运行 vncpasswd 设置密码 |
| 服务启动失败 | 检查配置文件中的用户名是否正确 |
注意事项
- VNC默认使用5900+端口(:1对应5901,:2对应5902等)
- 建议在安全网络环境中使用,或配置防火墙限制访问IP
- 对于生产环境,建议使用SSH隧道加密VNC连接
- 多个用户可以使用不同的显示器号(:1, :2等)
验证命令
bash
# 查看VNC服务状态
sudo systemctl status vncserver@:1.service
# 检查5901端口是否开放
netstat -tlnp | grep 5901