在 Ubuntu 系统上安装和配置 noVNC 的完整指南:
1. 更新系统
首先,确保系统已更新:
bash
sudo apt update
sudo apt upgrade -y
2. 安装依赖
noVNC 需要一些依赖包,包括 git、python3 和 pip 等:
bash
sudo apt install -y git python3 python3-pip
3. 安装 Websockify
noVNC 依赖 websockify,可以通过 pip 安装:
bash
sudo pip3 install websockify
4. 克隆 noVNC 仓库
从 GitHub 克隆 noVNC 的官方仓库:
bash
git clone https://github.com/novnc/noVNC.git
cd noVNC
5. 启动 noVNC
noVNC 自带一个简单的 Web 服务器,可以通过以下命令启动:
bash
./utils/launch.sh --vnc localhost:5901
参数说明:
--vnc localhost:5901:指定 VNC 服务器的地址和端口(默认 VNC 端口是 5901)- 默认情况下,noVNC 会在
http://localhost:6080启动一个 Web 服务
6. 访问 noVNC
打开浏览器,访问:
http://localhost:6080/vnc.html
如果一切正常,你将看到 noVNC 的界面,并可以连接到 VNC 服务器。
7. 可选:配置 SSL/TLS
如果需要通过 HTTPS 访问,可以配置 SSL 证书。例如,使用自签名证书:
bash
openssl req -x509 -nodes -newkey rsa:4096 -keyout novnc.pem -out novnc.pem -days 365
./utils/launch.sh --vnc localhost:5901 --cert novnc.pem
然后通过 https://localhost:6080/vnc.html 访问。
8. 可选:设置为系统服务
如果需要 noVNC 在后台运行,可以创建一个 systemd 服务:
创建服务文件:
bash
sudo nano /etc/systemd/system/novnc.service
添加以下内容(请根据实际路径修改 /path/to/noVNC):
ini
[Unit]
Description=noVNC Service
After=network.target
[Service]
ExecStart=/usr/local/bin/websockify --web /path/to/noVNC 6080 localhost:5901
User=nobody
Group=nogroup
Restart=always
[Install]
WantedBy=multi-user.target
启用并启动服务:
bash
sudo systemctl enable novnc
sudo systemctl start novnc
9. 常见问题
| 问题 | 解决方案 |
|---|---|
| VNC 服务器未运行 | 确保 VNC 服务器(如 TigerVNC 或 x11vnc)已在 localhost:5901 上正常运行 |
| 端口冲突 | 如果 6080 端口被占用,可以修改 launch.sh 或 systemd 服务中的端口 |
| 权限问题 | 如果使用 systemd 服务,确保指定正确的用户和组权限 |
| 连接拒绝 | 检查防火墙设置,确保 6080(或自定义端口)已开放 |
验证服务状态:
bash
# 查看服务状态
sudo systemctl status novnc
# 检查端口监听
netstat -tuln | grep 6080
# 查看日志
journalctl -u novnc -f
通过以上步骤,你应该可以在 Ubuntu 上成功安装并运行 noVNC。