在CentOS系统中安装noVNC可以提供一个基于Web的VNC远程桌面解决方案,无需额外安装客户端软件,通过浏览器即可访问远程桌面,以下是详细的安装步骤和配置方法,帮助您快速完成部署。

系统准备
在开始安装前,确保您的CentOS系统已更新至最新版本,执行以下命令更新系统包:
sudo yum update -y
安装必要的开发工具和依赖库:
sudo yum groupinstall "Development Tools" -y sudo yum install git openssl-devel -y
这些工具和库将帮助后续编译和安装noVNC及其相关组件。
安装TigerVNC服务器
noVNC通常与TigerVNC服务器配合使用,因此需要先安装TigerVNC,执行以下命令安装:
sudo yum install tigervnc-server -y
安装完成后,初始化VNC密码设置:
vncpasswd
根据提示输入并确认密码,此密码将用于VNC连接认证。
下载和编译noVNC
noVNC是一个基于HTML5的VNC客户端,需要从GitHub源码编译安装,首先下载源码:

git clone https://github.com/novnc/noVNC.git git clone https://github.com/novnc/websockify.git
进入noVNC目录并安装依赖:
cd noVNC npm install
如果未安装Node.js和npm,需先执行:
sudo yum install nodejs npm -y
配置VNC服务
创建systemd服务文件以管理VNC服务,执行以下命令生成服务配置:
sudo vi /etc/systemd/system/vncserver@.service
[Unit] Description=Start TigerVNC server at startup After=syslog.target network.target [Service] Type=forking User=your_username PAMName=login PIDFile=/home/your_username/.vnc/%H:%i.pid ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x1024 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target
将your_username替换为实际用户名,然后启用并启动服务:
sudo systemctl daemon-reload sudo systemctl enable vncserver@1.service sudo systemctl start vncserver@1.service
配置noVNC代理
noVNC通过websockify与VNC服务器通信,创建启动脚本:
sudo vi /opt/novnc_proxy.sh
#!/bin/bash cd /path/to/noVNC ./utils/launch.sh --vnc localhost:5901
将/path/to/noVNC替换为实际路径,并赋予执行权限:
sudo chmod +x /opt/novnc_proxy.sh
设置防火墙规则
确保防火墙允许VNC和WebSocket流量:

sudo firewall-cmd --permanent --add-service=vnc sudo firewall-cmd --permanent --add-port=6901/tcp sudo firewall-cmd --reload
启动noVNC服务
执行以下命令启动noVNC代理:
sudo /opt/novnc_proxy.sh
访问http://your_server_ip:6901/vnc.html即可通过浏览器连接VNC桌面。
常见问题排查
- 无法连接VNC服务器:检查VNC服务状态(
systemctl status vncserver@1.service)和防火墙配置。 - 浏览器显示黑屏:尝试调整VNC分辨率或颜色深度参数。
FAQs
Q1: 如何修改VNC连接密码?
A1: 执行vncpasswd命令,按照提示输入新密码即可,修改后需重启VNC服务。
Q2: noVNC页面加载失败怎么办?
A2: 检查websockify是否正常启动(ps aux | grep websockify),确认VNC服务器端口(默认5901)未被占用。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复