noVNC使用与介绍

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://xiahunao.cn/news/3267804.html

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

相关文章

【Python】 基于Q-learning 强化学习的贪吃蛇游戏(源码+论文)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

java.lang.ThreadLocal

ThreadLocal万字总结https://blog.csdn.net/sinat_33921105/article/details/103295070 key的唯一性 一个线程中的多个ThreadLocal变量如何存储、如何保证唯一性&#xff1f; 每一个 ThreadLocal<T> tl new ThreadLocal<>(); 创建出来都有一个不变且唯一的thre…

vue-plugin-hiprint 打印 预览打印+静默打印

1.安装 npm install vue-plugin-hiprint npm i socket.io-client --save //为了静默打印 &#xff08;为此还需安装客户端&#xff09; 2…html页面 引入css <link rel"stylesheet" type"text/css" media"print" href"https://cdn.jsde…

新手做短视频素材在哪里找?做短视频素材工具教程网站有哪些?

新手短视频制作指南&#xff1a;从零开始&#xff0c;快速成为短视频达人 蛙学网&#xff1a;新手短视频制作的首选平台 作为短视频制作新手&#xff0c;你是否在寻找合适的素材和工具来打造令人眼前一亮的作品&#xff1f;不用担心&#xff0c;蛙学网作为国内领先的素材平台&…

远程割草机行业全景剖析与投资前瞻预测:未来六年年复合增长率CAGR为7.8%

一、市场趋势分析 随着科技的进步和生活节奏的加快&#xff0c;远程割草机行业迎来了快速发展期。消费者对于省时省力的自动化园艺工具的需求推动了这一行业的增长。数据显示&#xff0c;远程割草机提供了更为安全、高效和环保的草坪维护解决方案。预计未来几年&#xff0c;随…

react小程序分包(遇见的坑)

使用的是taro组件 pages是原文件&#xff0c;分包文件夹是package 为了减少修改路径直接复制的pages的文件夹 第一个坑&#xff1a; 我做了分包&#xff0c;没有build打包导致没有生效&#xff08;所以需要build一下再dist里面生成分包的文件&#xff09; 第二个坑——路由…

C++笔记---缺省参数和函数重载

1. 缺省参数 1.1 定义 缺省参数是声明或定义函数时为函数的参数指定一个缺省值&#xff08;默认值&#xff09;。在调用该函数时&#xff0c;如果没有指定实参 则采用该形参的缺省值&#xff0c;否则使用指定的实参&#xff0c;缺省参数分为全缺省和半缺省参数。 void Func(…

LwIP入门实战 — 1 计算机网络简述

目录 1 计算机网络类别 2 常用网络协议与协议栈 2.1 常用网络协议 2.2 常用TCP/IP协议栈 3 网络协议的分层模型 4 协议层报文间的封装与拆封 5 WAN接口和LAN接口 1 计算机网络类别 广域网WAN(Wide Area Network)&#xff1a;广域网的作用范围通常为几十到几千公里&…

【用最少数量的箭引爆气球】python刷题记录

R2-贪心篇. 求最小&#xff0c;那就尽可能地假设更多的气球y值不相同咯。 不对&#xff0c;气球除了y值我们随便摆&#xff0c;所以找尽可能多重叠的&#xff0c;就作为同一只箭。 class Solution:def findMinArrowShots(self, points: List[List[int]]) -> int:#贪心策略…

高性能 Java 本地缓存 Caffeine 框架介绍及在 SpringBoot 中的使用

在现代应用程序中&#xff0c;缓存是一种重要的性能优化技术&#xff0c;它可以显著减少数据访问延迟&#xff0c;降低服务器负载&#xff0c;提高系统的响应速度。特别是在高并发的场景下&#xff0c;合理地使用缓存能够有效提升系统的稳定性和效率。 Caffeine 是一个高性能的…

宝塔单ip,新建多站点

报错如上&#xff1a; 那么如何新建多站点呢 先随便写个名字上去&#xff0c;然后再重新绑定别的端口… 这个时候访问99端口即可 。 如果是有域名&#xff0c;则不需要这样做 、直接80端口也可以多站点

OSPF配置与分析

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 一、相关知识 开放最短路径优先&#xff08;Open Shortest Path First&#xff0c;OSPF&#xff09;基于链路状态算法&#xff0c;是一个内部网关协议…

gitee设置ssh公钥密码避免频繁密码验证

gitee中可以创建私有项目&#xff0c;但是在clone或者push都需要输入密码&#xff0c; 比较繁琐。 公钥则可以解决该问题&#xff0c;将私钥放在本地&#xff0c;公钥放在gitee上&#xff0c;当对项目进行操作时带有的私钥会在gitee和公钥进行验证&#xff0c;避免了手动输入密…

三目操作符

双目操作符有、-、*、/、% 单目操作符有--、、、- 三目操作符有表达式1&#xff1f;表达式2&#xff1a;表达式3 如果表达式1为真则表达式2计算否则表达式3计算&#xff0c;计算结果为整个表达式的结果 #include<stdio.h> int main() {int a 0;int b 0;scanf(&quo…

Web开发:使用数据库工具Navicat技巧合集

1.EXCEL批量导入数据 打开Navicat准备导入数据&#xff0c;点击导入 选择excel 字段名行应该写0&#xff08;下图错误&#xff09; 下一步&#xff0c;表已经用语法建好了&#xff0c;因此不用打勾 配置好字段&#xff0c;下一步&#xff0c;点击开始即可。 2.数据表从一个服…

R包:plot1cell单细胞可视化包

介绍 plot1cell是用于单细胞数据seurat数据对象的可视化包。 安装 ## You might need to install the dependencies below if they are not available in your R library. bioc.packages <- c("biomaRt","GenomeInfoDb","EnsDb.Hsapiens.v86&qu…

【React 】开发环境搭建详细指南

文章目录 一、准备工作1. 安装 Node.js 和 npm2. 选择代码编辑器 二、创建 React 项目1. 使用 Create React App2. 手动配置 React 项目 三、集成开发工具1. ESLint 和 Prettier2. 使用 Git 进行版本控制 在现代前端开发中&#xff0c;React 是一个非常流行的框架&#xff0c;用…

与众不同的社交体验:Facebook的新功能与新变化

在快速变化的社交媒体领域&#xff0c;Facebook不断引入创新功能和变化&#xff0c;以满足用户日益增长的需求&#xff0c;并提供与众不同的社交体验。从增强现实到数据隐私&#xff0c;Facebook的新功能和更新正在塑造一个全新的社交平台。本文将深入探讨这些新功能和变化&…

昇思25天学习打卡营第33天|共赴算力时代

文章目录 一、平台简介二、深度学习模型2.1 处理数据集2.2 模型训练2.3 加载模型 三、共赴算力时代 一、平台简介 昇思大模型平台&#xff0c;就像是AI学习者和开发者的超级基地&#xff0c;这里不仅提供丰富的项目、模型和大模型体验&#xff0c;还有一大堆经典数据集任你挑。…