在 Ubuntu 上安装 noVNC

在 Ubuntu 系统上安装和配置 noVNC 的完整指南:


1. 更新系统

首先,确保系统已更新:

bash 复制代码
sudo apt update
sudo apt upgrade -y

2. 安装依赖

noVNC 需要一些依赖包,包括 gitpython3pip 等:

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。

相关推荐
爱吃苹果的梨叔2 小时前
NTP 网络时间服务器硬件驯服技术说明(投标技术响应说明)
linux·运维·服务器·网络·嵌入式硬件·tcp/ip
工业HMI实战笔记2 小时前
HMI权限分级设计:兼顾安全与操作效率的平衡术
运维·数据库·安全·ui·自动化·人机交互·交互
有时.不昰沉默2 小时前
ubuntu 20.04 启动直接进入 tty1,而非 图形界面
linux·运维·ubuntu·tty1
济6172 小时前
linux 系统移植(第七期)----U-Boot 图形化配置--添加自定义菜单-- Ubuntu20.04
linux·运维·服务器
松涛和鸣2 小时前
DAY56 ARM Cortex-A Bare Metal
linux·服务器·c语言·开发语言·arm开发·数据库
星陨772 小时前
OpenStack私有云平台API接口练习
linux·运维·网络·openstack
YongCheng_Liang2 小时前
Docker 核心概念与价值详解:从理论到实战安装指南
运维·docker·容器
计算机网恋2 小时前
Ubuntu中VSCode配置CC++环境
c语言·vscode·ubuntu
别再下雨辽2 小时前
开发板通过 VSCode Remote-SSH 反向转发复用 PC 代理排障总结
linux·ide·笔记·vscode·ssh