【noVNC】使用noVNC实现浏览器网页访问vnc(基于web的远程桌面)

1.VNC本身提供的http连接方式,可传输文件,画面有卡顿,需要安装jre

2.noVNC访问方式,不可传输文件,画面较为流畅,不用安装插件运行环境

一、noVNC 是什么

Web 端的Vnc软件,通过noVNC,可以直接使用web浏览器访问vnc server。采用 HTML5、WebSockets、Canvas和 JavaScript 实现,被普遍用在各大云平台中。

网页就是一个客户端、类似 Windows 下的 vncviewer 。

VNC (Virtual Network Console)是虚拟网络控制台的缩写,分为server端和client端两部分,分别部署完成后在server端简单的配置即可使用,基于TCP的通信。noVNC项目是通过取消VNC Client的安装,直接通过浏览器访问noVNC,然后由noVNC间接访问VNC server来达到client web化。

大致实现原理是:

1.已经安装好的vncserver不需要做任何的改动

2.浏览器不支持VNC,所以不能直接连接VNC,但是可以使用代理,使用noVNC通过WebSocket建立连接,而VNC Server不支持WebSocket,所以需要开启Websockify代理来做WebSocket和TCP Socket之间的转换。

二、noVNC的安装

  • 环境:Ubuntu 22.04
  • VNC服务:使用Ubuntu 22.04 自带的VNC服务

2.1 下载noVNC的代码

git clone https://github.com/novnc/noVNC.git

2.2 启动noVNC

启动脚本是:novnc_proxy

chmod +755 /noVNC/utils/novnc_proxy # 添加可执行权限

./novnc_proxy --vnc localhost:5900 # 第一次会帮我们下载Websokify 需要安装git环境

注:如果运行bash脚本显示": /usr/bin/env: "bash\r";请
用vim打开sh脚本文件, 重新设置文件的格式
:set ff 然后回车 再重新设置下文件格式:
:set ff=unix 然后保存退出

2.3 开放6080端口

sudo firewall-cmd --add-port=6080/tcp --permanent

sudo firewall-cmd --reload

2.4 Ubuntu远程桌面开启

三、浏览器访问vnc

XML 复制代码
http://IP地址:6080/vnc.htm # 浏览器打开这个地址就可以访问了

新连接访问权限确认方式

需要密码方式:

提示:服务器图形界面锁屏状态,是无法连接的

四、总结

应用到的技术即安装的应用:

  1. python-3.8.10 该版本和以下版本组件组合,验证过能正常运行(python 3.6.8测试异常)
  2. websockify-0.10.0 该项目有python版本和node js版本
  3. noVNC-1.3.0 HTML 形式的app
  4. VNC服务 种类比较多UltraVNC、TightVNC等

参考来源:

Web 访问的利器 noVnc_novnc网页版-CSDN博客

All in Web | 基于web的远程桌面-noVNC - 知乎

https://www.cnblogs.com/minseo/p/15949100.html

相关推荐
非凡ghost1 小时前
视频剪辑不用等渲染,这款开源工具让切分合并秒级完成
运维·电脑·软件需求
FII工业富联科技服务3 小时前
Omniverse 数字孪生与柔性自动化,如何破解产能与交付、设备与空间的双重困境?
运维·自动化·devops
润滑卫士3 小时前
油液介电常数在线监测:测量原理与油液老化状态评估方法
运维
Rock Chin6974 小时前
把 n8n 接进 Slack:在对话里 @机器人 触发自动化工作流
运维·机器人·自动化
浩浩测试一下5 小时前
Linux 底层知识点 1
linux·运维·服务器
Eloudy5 小时前
全文 - IMEX 第01节 -IMEX overview
运维·服务器·网络
物联网软硬件开发-轨物科技5 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
Escalating_xu5 小时前
【Linux 网络编程】TCP 跨平台实战:用 Windows 客户端访问 Linux 服务器
linux·服务器·网络
发量惊人的中年网工5 小时前
分公司访问总部ERP慢怎么办?SD-WAN组网的排查与验收要点
服务器·开发语言·php
海宇数据5 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化