noVNC使用与介绍

news2024/9/22 23:31:14

noVNC使用与介绍报告

1. 概述

VNC(Virtual Network Console,虚拟网络控制台)是一种流行的远程桌面访问协议,它允许用户通过网络连接到远程计算机的图形界面。VNC协议的实现通常包括两个主要组件:服务器端(Server)和客户端(Client)。
其中VNC-Server部署在需要被远程访问的机器上。它负责捕获图形界面,处理输入事件,并将这些信息发送到VNC客户端。VNC-Client运行在用户本地机器上。它负责显示远程桌面的图像,接收用户的输入,并将这些输入发送到VNC Server。

1.1 什么是noVNC?

noVNC是一种基于Web的VNC客户端,它利用HTML5的Canvas元素在网页上实现对VNC服务器的访问。与传统的VNC客户端不同,noVNC不需要安装任何额外的软件或插件,仅需通过浏览器即可实现远程桌面访问。

1.2 工作原理

由于现代Web浏览器对直接访问TCP/IP服务有限制,因此noVNC通过将TCP协议转换为WebSocket协议,使得在浏览器中显示VNC服务成为可能(通过Websockify代理实现)。以下是noVNC的工作流程:
WebSocket代理:noVNC服务器充当WebSocket代理,接收来自Web客户端的WebSocket连接请求。
TCP到WebSocket的转换:代理服务器将WebSocket连接转换为TCP连接,进而连接到VNC服务器。
反向代理配置:在noVNC代理服务器上,需要为每个VNC服务配置反向代理,确保通过noVNC提供的WebSocket连接可以正确访问对应的VNC服务。
访问标识:noVNC为每个VNC服务提供一个唯一的标识,客户端通过这个标识连接到相应的VNC服务。

1.3 noVNC的特点

(1) 支持所有现代浏览器,包括移动设备(iOS,Android)。
(2) 支持的身份验证方法:无验证,经典VNC,RealVNC的RSA-AES,Tight,VeNCrypt Plain,XVP,苹果的Diffie-Hellman,UltraVNC的MSLogonII。
(3) 支持的VNC编码:原始编码,copyrect,rre,hextile,tight,tightPNG,ZRLE,JPEG。
(4) 支持桌面缩放、裁剪和调整大小。
(5) 本地光标渲染,并支持完整Unicode的剪贴板复制/粘贴。
(6) 支持触摸手势用于模拟常见的鼠标操作,并提供翻译功能。

2. 安装和配置

Linux的安装配置详细步骤于官网:noVNC-Linux版本快速上手。
Windows安装配置:
(1) 下载对应的VNC软件以支持身份验证。由于软件库只有TightVNC,因此以TightVNC作为身份验证的方式。
(2) 设置VNC Password,如图1所示。
在这里插入图片描述

(3) 由于需要进行测试,配置允许回环连接,如图2所示。
在这里插入图片描述

(4) 安装node.js以配置代理
(5) 通过node安装ws、optimist、mime-types模块(执行websockify.js文件所需)
npm install ws
npm install optimist
npm install mime-types
(6) 在node_modules文件夹中安装noVNC与websockify-js
git clone https://github.com/novnc/noVNC
git clone https://github.com/novnc/websockify-js.git
(7) 修改所下载的websockify.js,如图3所示。

在这里插入图片描述

(8) 启动代理服务(websockify)
node // 使用node执行websockify.js
C:\Users\xxxxxxx // websockify.js文件路径
–web C:\Users\xxxxx // 启动端口为9000
localhost:5900 // 转发的VNC地址和端口
若成功则为图4所示。

在这里插入图片描述

3. 结果展示

图5 访问对应端口
在这里插入图片描述

图6 进行身份验证
在这里插入图片描述

xxxxxxxxx

图7 成功访问

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1950690.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

充满惊喜与欢乐的老友

在这个充满惊喜与欢笑的娱乐圈里,每一个不经意的可能成为网友热议的焦点,而《快乐老友记》的花絮,无疑为这个多彩的世界又添上了一抹亮丽的色彩。当“王栎鑫被路人认成张艺兴”这一话题如春风般拂过网络,不仅让两位才华横溢的艺人…

硬核科普:什么是网络准入控制系统|网络准入控制系统四大品牌介绍

网络准入控制系统(Network Access Control, NAC)是一种用于确保只有授权设备和用户才能接入网络的安全技术。 本文将介绍几种常用的网络准入控制系统,帮助您更好地了解如何选择适合您企业的NAC系统。 网络准入控制的重要性和作用 网络准入控…

Jenkins集成JDK、git、gitee、maven逐步实现自动拉取,自动部署,自动启动

1. jenkins集成JDK 成功登录Jenkins后,选择Manage Jenkins,选择Tools 集成JDK 2. jenkins集成git 因为Jenkins自动从git远程仓库拉取代码 首先要在Jenkins所在的linux服务器上安装git yum install -y git然后,实行集成JDK的第一步 配置g…

ElMessage自动引入,样式缺失和ts esline 报错问题解决

一. 环境 "unplugin-auto-import": "^0.17.6", "vue": "^3.3.8", "vite": "^5.0.0", "typescript": "^5.2.2",二. ElMessage样式缺失问题. 以下有两种解决方法 方法一: 配置了自动引用后…

【Java算法专场】二分查找(上)

目录 前言 什么是二分查找? 二段性 ​​​​​​​​​​​​​​​​​​​​​二分查找 算法分析 算法步骤 算法代码 算法示例 模板 在排序数组中查找元素的第一个和最后一个位置 算法分析 算法步骤 算法代码 算法示例 搜索插入位置 算法分析 算法步…

HTML常见标签——超链接a标签

一、a标签简介 二、a标签属性 href属性 target属性 三、a标签的作用 利用a标签进行页面跳转 利用a标签返回页面顶部以及跳转页面指定区域 利用a标签实现文件下载 一、a标签简介 <a>标签用于做跳转、导航&#xff0c;是双标签&#xff0c;记作<a></a>&#…

MFC开发,自定义消息

在MFC开发中&#xff0c;主要核心机制就是消息机制。QT与之类似的机制就是信号与槽。QT中的信号与槽是非常容易自定义的&#xff0c;MFC也是如此&#xff0c;自定义也是比较方便&#xff0c;况且自定义消息或者控件在整个GUI图形化界面开发中也是非常重要的部分&#xff0c;上篇…

项目都做完了,领导要求国际化????--JAVA后端篇

springboot项目国际化相信各位小伙伴都会&#xff0c;很简单&#xff0c;但是怎么项目都做完了&#xff0c;领导却要求国际化文件就很头疼了 国际化的SpringBoot代码&#xff1a; 第一步&#xff1a;创建工具类 /*** 获取i18n资源文件** author bims*/ public class Message…

Java Collections类

Collections是一个与有关集合的工具类&#xff0c;提供了很多对集合进行操作的方法。 常见方法 addAll&#xff1a;往集合中添加多个元素。 public static <T> boolean addAll(Collection<? super T> c, T... elements) {boolean result false;for (T element…

MongoDB教程(二十):MongoDB正则表达式

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; 文章目录 引言一、正则表…

Python3网络爬虫开发实战(3)网页数据的解析提取

文章目录 一、XPath1. 选取节点2. 查找某个特定的节点或者包含某个指定的值的节点3. XPath 运算符4. 节点轴5. 利用 lxml 使用 XPath 二、CSS三、Beautiful Soup1. 信息提取2. 嵌套选择3. 关联选择4. 方法选择器5. css 选择器 四、PyQuery1. 初始化2. css 选择器3. 信息提取4. …

程序的机器级表示(一)汇编,汇编格式和数据传输指令

系列文章 : 深入理解计算机系统笔记 文章目录 系列文章3 程序的机器级表示3.1 历史观点3.2 程序编码3.2.1 机器级代码3.2.2 代码示例3.2.3 关于格式的注解 3.3 数据格式3.4 访问信息3.4.1 操作数指示符3.4.2 数据传送指令3.4.3 数据传送示例3.4.4 压入和弹出栈数据 3 程序的机…

如何做校园圈子小程序,需要哪些功能?可打包APP小程序H5,源码交付,支持二开!

独立学校首页 支持每个学校独立首页!每个学校都可以拥有专属首页&#xff0c;打造不同风格的学校首页展示效果 多业务覆盖 可实现校园内外卖、跑腿、超市、药店水果、快餐店等业务全覆盖!所有配送业务平台都可开展 多站点运营 支持多学校多站点运营&#xff0c;各分站管理员可独…

【日记】办个护照不至于有这种刑事罪犯一样的待遇吧……(737 字)

正文 暴晒&#xff0c;中午出去骑共享单车&#xff0c;座垫都不敢坐。 至于为什么&#xff0c;中午觉都不睡跑出去&#xff0c;是因为今天他们办承兑汇票的业务&#xff0c;搞了一天&#xff0c;中午不休息&#xff0c;说可能还会用到我的指纹&#xff0c;让我 on call。我心想…

基础IO(文件系统)

一、块组的宏观理解 1、分区和分组 首先一台电脑就一个磁盘&#xff0c;一般800GB到1TB&#xff0c;为了管理这么大的内存数据&#xff0c;我们就对磁盘进行分区&#xff0c;分区之后才是我们看到的C盘&#xff0c;D盘等。 但是其实分区之后空间还是太大不好管理&#xff0c;…

习题2.23

不解释了&#xff0c;这么简单的题目。 (defn for-each[f item](if (not (empty? item));(println (f (first item)))(f (first item)))(if (not (empty? item))(for-each f (rest item)));(f (first item)))执行结果如下

FastGPT、Dify、Coze产品功能对比分析

在当前的人工智能领域&#xff0c;模型接入、应用发布、应用构建、知识库和工作流编排等功能是衡量一个AI平台综合能力的重要指标。本文将对FastGPT、Dify和Coze这三款产品的功能进行详细对比分析&#xff0c;以帮助用户更好地了解它。 订阅模式及市场概况 在订阅模式及市场概…

CSS常见属性详解——内边距与外边距

内边距与外边距 内边距 外边距 应用场景 在网页排版布局时&#xff0c;我们经常会希望元素与元素之间有一定的间距&#xff0c;此时我们可能会用到CSS的外边距或内边距属性&#xff0c;这两个属性都能让元素之间产生距离&#xff0c;那么他们之间有什么不同呢&#xff1f; …

【SpringBoot】1 Gitee

本项目 Gitee 地址&#xff1a;https://gitee.com/Lin_DH/system idea中可能装个gitee的插件&#xff0c;这样操作起来比较方便。 1&#xff09;登录 Gitee 官网&#xff08;https://gitee.com/&#xff09;&#xff0c;新建仓库。 2&#xff09;复制新建的 Gitee 仓库地址&am…

大麦抢票-狠货

大部分购买方式已迁移至手机端&#xff0c;专注研究移动端 小白操作–仅供学习 注意在帐号按权重的第三方账号设置解绑淘宝&#xff0c;否则有可能在抢票时候出现滑块&#xff0c;影响抢票,抢票优先选择大麦 ⚠️核心内容参考&#xff1a; 据悉&#xff0c;在购票环节&…