当前位置: 首页 > news >正文

在 Ubuntu 上安装 noVNC

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


1. 更新系统

首先,确保系统已更新:

sudoaptupdatesudoaptupgrade -y

2. 安装依赖

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

sudoaptinstall-ygitpython3 python3-pip

3. 安装 Websockify

noVNC 依赖websockify,可以通过 pip 安装:

sudopip3installwebsockify

4. 克隆 noVNC 仓库

从 GitHub 克隆 noVNC 的官方仓库:

gitclone https://github.com/novnc/noVNC.gitcdnoVNC

5. 启动 noVNC

noVNC 自带一个简单的 Web 服务器,可以通过以下命令启动:

./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 证书。例如,使用自签名证书:

openssl req -x509 -nodes -newkey rsa:4096 -keyout novnc.pem -out novnc.pem -days365./utils/launch.sh --vnc localhost:5901 --cert novnc.pem

然后通过https://localhost:6080/vnc.html访问。


8. 可选:设置为系统服务

如果需要 noVNC 在后台运行,可以创建一个systemd服务:

创建服务文件:

sudonano/etc/systemd/system/novnc.service

添加以下内容(请根据实际路径修改/path/to/noVNC):

[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

启用并启动服务:

sudosystemctlenablenovncsudosystemctl start novnc

9. 常见问题

问题解决方案
VNC 服务器未运行确保 VNC 服务器(如 TigerVNC 或 x11vnc)已在localhost:5901上正常运行
端口冲突如果 6080 端口被占用,可以修改launch.sh或 systemd 服务中的端口
权限问题如果使用 systemd 服务,确保指定正确的用户和组权限
连接拒绝检查防火墙设置,确保 6080(或自定义端口)已开放

验证服务状态:

# 查看服务状态sudosystemctl status novnc# 检查端口监听netstat-tuln|grep6080# 查看日志journalctl -u novnc -f

通过以上步骤,你应该可以在 Ubuntu 上成功安装并运行 noVNC。

http://www.cnnetsun.cn/news/669043.html

相关文章:

  • 1.2 深度学习核心概念一网打尽:神经网络、激活函数与损失函数详解
  • 2.1 Transformer解密:自注意力机制与位置编码全解析
  • 从部署到超越:YOLOv5s在RK3588上实现120FPS的完整优化路径与工程实践
  • 工业组态云平台实现多设备远程监控与数据可视化
  • 2026必备!MBA论文写作TOP10 AI论文平台测评
  • 8.4 企业级AI部署:安全、稳定、可扩展的解决方案
  • 8.7 从0到1构建AI员工团队:实战案例与经验总结
  • 跨品牌工业设备协议兼容性验收方法论‌——面向测试工程师的实战指南
  • 网络和安全防护建设方案(Word)
  • 孩子近视后,家长容易犯的四个错误,你做过吗?
  • 智能制造浪潮下的核心驱动力:AI智能体开发工程师深度解析与面试指南
  • AI写论文必知,4款AI论文写作工具助你快速产出高质量论文!
  • 精度损失1.6%,速度提升10.3 FPS:YOLOv8稀疏训练+Slim剪枝高效压缩方案
  • YOLOv8-Pose 全栈部署实践:从模型训练到 RK3588 RKNN 端侧部署
  • create_deep_agent vs create_agent 的区别
  • 福田时代EV M3 递哥 领航 领航M5 领航S1 驭菱 驭菱维修手册电路图资料拆装大修修理螺丝扭力扭力传感器安装位置拆装过程故障码诊断流程针脚定义保险盒图解继电器图解线束走向分布图正时校对点位钣金尺
  • 当“我已付款两次”成为钓鱼暗号:Booking.com生态遭系统性渗透,全球酒店与旅客陷信任危机
  • RDF 规则:构建语义网的基础
  • JavaScript 变量提升
  • 网站流量资产的永久性迁移:301 重定向
  • 动态NAND恢复技术打破QLC寿命天花板
  • GESP认证C++编程真题解析 | P11961 [GESP202503 五级] 原根判断
  • 学长亲荐2026 TOP9 AI论文软件:本科生毕业论文写作全测评
  • 基于天牛须(BAS)与NSGA-Ⅱ混合算法的交直流混合微电网多场景多目标优化调度(Matlab代码实现)
  • iStoreOS_24.10.4 兼容性列表及镜像下载地址更新日志
  • 【毕业设计】SpringBoot+Vue+MySQL 学生网上请假系统平台源码+数据库+论文+部署文档
  • Qwen3-VL-2B部署指南:从零开始构建视觉对话机器人
  • 通义千问2.5代码补全实测:85%通过率的秘密
  • 如何高效计算文本相似度?GTE中文向量模型镜像一键部署指南
  • Elasticsearch查询 = Mapping?