openbmc kvm vnc client connection

article/2025/8/23 13:21:52

1. VNC 介绍:

VNC(Virtual Network Computing,虚拟网络计算) 是一种远程桌面协议(RDP 的替代方案),允许用户通过网络控制另一台计算机的图形界面。其核心特点是 跨平台、开源、基于帧缓冲(Frame Buffer),广泛用于远程管理、IT 支持、嵌入式设备(如 OpenBMC)等场景。

1.1 VNC 工作原理:

  • 服务端(Server):运行在被控制的设备上(如 OpenBMC 的 KVM 功能),实时捕获屏幕画面,通过 RFB(Remote Framebuffer)协议 传输给客户端。
  • 客户端(Viewer):接收画面并发送键盘/鼠标事件到服务端(如 TightVNC、TigerVNC)。
  • 编码(Encoding):压缩屏幕变化数据以节省带宽(如 TightZRLE)。

1.2 VNC 主要组件:

组件作用
RFB 协议定义数据传输规则(类似 HTTP 用于网页)。支持版本:RFB 3.3、3.7、3.8 等。
服务端libvncserver(OpenBMC 使用)、TigerVNC ServerRealVNC Server
客户端如 TightVNC、TigerVNC、noVNC(网页版)。
编码方式决定数据如何压缩传输(影响速度和画质)。

1.3 VNC 工作流程:

  • 握手阶段
    • 协商协议版本(如 RFB 3.7)。
    • 选择认证方式(无密码、VNC 密码、TLS 加密等)。
  • 初始化
    • 客户端请求屏幕分辨率、像素格式(如 32bpp RGB)。
    • 服务端发送第一帧画面(通常为 Raw 编码)。
  • 交互阶段
    • 客户端发送鼠标/键盘事件。
    • 服务端只发送屏幕变化的区域(通过 TightHextile 等编码压缩)。

2. VNC 客户端:

2.1 VNC 客户端分类及各客户端所支持的编码类型:

  • 在 OpenBMC over VNC 的环境下,除了 TightVNC 外,还有许多其他客户端可供选择,每个客户端支持的编码(Encoding)方式有所不同。

2.1.1 Desktop/终端客户端

客户端特点支持的编码方式
TightVNC轻量级,专为 Tight 优化,兼容性较好TightZRLEHextileRRERawCopyRect
RealVNC商业化产品,支持加密连接Tight(TightVNC 变种),ZRLEHextileRawCopyRect
TigerVNC高性能,常用于科研/HPC 环境TightZRLEHextileRRERawCopyRect(支持 JPEG 压缩)
UltraVNCWindows 重点优化,支持插件扩展TightZRLEUltra(专有),HextileRaw
Vinagre (GNOME)Linux GTK 客户端,轻量TightHextileRaw
RemminaLinux 多协议远程桌面工具TightZRLEHextileRRERaw

2.1.2 Web/无客户端方案

客户端特点支持的编码方式
noVNC (Web)HTML5 Canvas + WebSocket 代理Tight(默认),Raw(需服务端支持 WebSocket)
Guacamole基于 HTTP/Web 的远程桌面网关依赖后端 VNC 代理(如 TigerVNC)

2.2 不同编码格式之间的关系:

  • 不同编码对用不同的压缩算法,其对带宽,cpu 占用率都有不同的影响。
Encoding压缩算法适用场景是否通用
Tight (最优)zlib + JPEG(可调)适合高色深(24/32bpp)、高带宽✅ 大多数现代客户端支持
ZRLERLE + zlib适合低动态变化画面(如终端)✅(TigerVNC、RealVNC)
Hextile分块压缩中等压缩率,兼容性好✅(几乎所有客户端)
RRE简单区域编码低 CPU 开销,适合静态图✅(老旧客户端)
Raw无压缩完全兼容,但带宽高✅(任何客户端)
CopyRect屏幕复制优化重复区域(如窗口拖动)✅(必须支持)

3. KVM 基于VNC所支持的编码方式:

  • 以aspeed ast 芯片举例:目前KVM 支持rfbEncodingAspeed 和rfbEncodingTight
  • 通常采用全帧或增量帧方式,即标准Tigh 编码
  • 采用Tight 编码的方式也主要是为了尽可能兼容各类vnc client
    在这里插入图片描述

4. VNC Client 连接openBMC KVM:

4.1 修改软件打开VNC 服务:

  • 如修改ip 为0.0.0.0 ,允许任何IP 可连接该VNC kvm服务;
    在这里插入图片描述

  • 编译软件确认监听socket:

    netstat -tuln | grep -E "5900”

    在这里插入图片描述

  • ifconfig -a 查看BMC ip

4.2 安装tightvnc 客户端并连接该IP kvm

备注:TigerVNC 客户端也是类似。

  • 从官网下载客户端,选择tightviewer 客户端

  • 安装并打开tightVNC 客户端,输入IP 进行连接
    在这里插入图片描述

  • TightVNC 客户端显示远程KVM 界面:
    在这里插入图片描述


http://www.hkcw.cn/article/FlacwHEotO.shtml

相关文章

OpenEuler 22.03 安装 nacos 2.5.1 集群

零:规划 本次计划安装三台OpenEuler 22.03 版本操作系统的服务器,用于搭建 nacos 集群。这里使用 2.5.1版本 的原因,是因为它是2.x当前的稳定版本 服务器名IP地址作用其他应用flink01192.168.159.133主jdk11、flink-1.17.2flink02192.168.15…

ES中must与filter的区别

在 Elasticsearch 的布尔查询(bool query)中,must 和 filter 是两个核心子句,它们的核心区别在于 是否影响相关性评分,这直接决定了它们在查询性能、使用场景和结果排序上的差异。以下是详细对比: 一、核心…

MATLAB源代码——基于Rao检验的自适应贝叶斯检测器

此代码适用于信号检测问题,如雷达信号检测、通信系统中的信号存在性检测等。需要根据实际应用调整噪声模型、信号模型以及检测门限的定义。文章目录 MATLAB源代码代码解释以下是基于 Rao 检验 的 自适应贝叶斯检测器 的一个 MATLAB 示例例程。这个例程假设检测问题为高斯分布下…

2025推客系统小程序开发:独立部署源码交付,高性价比裂变增长引擎

在私域流量争夺白热化的今天,源码独立部署的推客系统小程序已成为企业构建自主分销体系、降低获客成本的核心利器。基于成熟案例与技术沉淀,我们提供安全可控、高性价比的一站式解决方案,助力企业快速搭建专属推客生态,实现长效增…

多家医院回应药企向医生行贿 调查正在进行中

近日,一则关于某药企被举报向四川多家医院上百名医生行贿的消息引发广泛关注。举报材料提及四川省内包括成都市、绵阳市、广安市在内的多个城市的医疗机构,共计37家。达州市第一人民医院工作人员表示,举报信中提到的医生在院方员工名单中并不存在。成都医学院第一附属医院和…

The CTeX fontset “fandol“ is unavailable in the current mode.

完整报错如下 The error message says that the CTeX fontset "fandol" is unavailable in the current mode. This usually happens when using the ctex package with pdfLaTeX, but the Fandol fonts are not installed or not supported in this mode. A commo…

贵州一公路落石 汽车被砸中坠落高坎 地质灾害点雨后事故

贵州一公路落石 汽车被砸中坠落高坎 地质灾害点雨后事故!5月28日,贵州毕节市七星关区何官屯镇一条通村公路突发落石。一块约300斤重的巨石砸中一辆过路汽车,导致车辆从路边高坎坠落。司机受轻伤,送医检查后当日返家,车损由保险公司处理。落石还击碎了附近民房的玻璃门,但…

端午民航出行延续“量价齐升” 入境游火爆

端午民航出行延续“量价齐升” 入境游火爆。端午假期临近,位于五一旅游热潮与暑期旺季之间,今年的端午出行市场展现出独特节奏。受假期时长、高考临近等因素影响,旅客出行以周边游为主,同时出入境市场亮点频现,机票价格延续五一假期热度,同比增长。铁路方面,据上铁集团发…

[网页五子棋][匹配模块]处理开始匹配/停止匹配请求(匹配算法,匹配器的实现)

文章目录 处理开始匹配/停止匹配请求匹配算法实现匹配器(1)完善匹配器的 TODO 实现匹配器(2)实现 handlerMatch线程安全忙等问题 处理开始匹配/停止匹配请求 实现 handleTestMessage 先从会话中拿到当前玩家的信息解析客户端发来的请求判定请求的类型 如果是 startMatch&…

11.spark源码编译

1.构建环境 构建环境: ubuntu 22.04 jdk 11 scala 2.12 maven 3.9 spark 3.5 2.构建 获取代码 pull代码后,切换到对应分支。 git checkout branch-3.5编译 构建spark mvn -DskipTests clean package \-Dhadoop.version3.3.6 \-Phive -Phive-thrif…

前端必备——Grid布局详解

Grid布局,又称为CSS网格布局,是W3C提出的一个二维布局系统,它允许开发者以行和列的形式来布局网页内容。以下是Grid布局属性的详细解析: 一、容器属性 display grid:将元素设置为块级网格容器。inline-grid&#xff1…

基于Java Web和SSM框架的硕士研究生招生考试系统开发

本文还有配套的精品资源,点击获取 简介:本项目旨在构建一个硕士研究生招生考试专业报考查询及学习系统,使用Java Web技术并集成了Spring、SpringMVC和MyBatis(SSM)框架。系统通过模块化架构和分离关注点&#xff08…

MCP Web Research Server 安装与配置指南

MCP Web Research Server 安装与配置指南 mcp-webresearch MCP web research server (give Claude real-time info from the web) 项目地址: https://gitcode.com/gh_mirrors/mcpw/mcp-webresearch 1. 项目基础介绍 MCP Web Research Server 是一个基于 Model Context …

0基础入门前端到精通(一)

目录 一丶前端开发介绍 1. 网页的组成部分 2. 网页的本质是什么? 3. 前端代码如何变成网页? 4. 统一网页显示标准:Web 标准 二丶HTML & CSS 1. 什么是 HTML? 2. 什么是 CSS? ​3. HTML 快速入门&#xff0…

一文了解Blob文件格式,前端必备技能之一

文章目录 前言一、什么是Blob?二、Blob的基本特性三、Blob的构造函数四、常见使用场景1. 文件下载2. 图片预览3. 大文件分片上传 四、Blob与其他API的关系1. File API2. FileReader3. URL.createObjectURL()4. Response 五、性能与内存管理六、实际案例:…

双剑破天门:攻防世界Web题解之独孤九剑心法(十)

免责声明:用户因使用公众号内容而产生的任何行为和后果,由用户自行承担责任。本公众号不承担因用户误解、不当使用等导致的法律责任 **本文以攻防世界部分题为例进行演示,后续会对攻防世界大部分的web题目进行演示,如果你感兴趣请…

解决 Android WebView 无法加载 H5 页面常见问题的实用指南

目录 1. WebView 简介 2. 常见问题 3. 网络权限设置 4. 启用 JavaScript 5. DOM Storage 的重要性 6. 处理 HTTPS 问题 7. 设置 WebViewClient 8. 调试工具 9. 其他调试技巧 10. 结论 相关推荐 1. WebView 简介 Android WebView 是一种视图组件,使得 And…

【若依框架】代码生成详细教程,15分钟搭建Springboot+Vue3前后端分离项目,基于Mysql8数据库和Redis5,管理后台前端基于Vue3和Element Plus,开发小程序数据后台

今天我们来借助若依来快速的搭建一个基于springboot的Java管理后台,后台网页使用vue3和 Element Plus来快速搭建。这里我们可以借助若依自动生成Java和vue3代码,这就是若依的强大之处,即便你不会Java和vue开发,只要跟着石头哥也可以快速的开发一款Java和vue程序。 技术点 …

OpenWebUI如何对外提供HTTP接口?

from 公众号:程序员more OpenWebUI通过HTTP方式提供对外接口,使得开发者可以通过HTTP方式快速对接拥有RAG能力的模型基座。 01 OpenWebUI配置app key OpenWebUI使用BearerToken机制对 API 请求进行身份验证。从 Open WebUI 中的“设置>帐户”获取 …

中使馆回应美将撤销中国留学生签证 坚决反对歧视做法

中使馆回应美将撤销中国留学生签证 坚决反对歧视做法!中国驻美国大使馆发言人于5月29日针对美国务院发表的声明作出回应,该声明称将撤销有关中国在美留学生的签证。发言人表示,中方坚决反对美方这一政治性、歧视性的做法。这种行为将严重损害中国在美留学人员的正当合法权益…