代理端(Agent)
云空间代理端(Agent) 是安装并运行在云桌面虚拟机内部的核心组件集合。它作为远程桌面协议的服务端,直接决定了用户的交互体验与管理端的管控深度。
一、 组件构成与核心职能
代理端由多个功能互补的软件包组成,共同实现协议传输与控制管理。
1.1 核心组件列表
- HSRServer:远程桌面协议服务端,负责桌面操作系统的登录认证(不同于客户端上登录认证)、抓屏编码、声音同步、键鼠操作及麦克风、摄像头、剪切板、文件夹、打印机、游戏手柄、数位板重定向。
- USBRedirect:USB 端口重定向的服务端,专门处理 USB 外设重定向相关的控制与业务数据传输。
- Mole:云桌面运维管理代理,负责向管理端上报桌面系统信息和状态、数据访问审计信息、代理端版本更新,并执行管理指令。
- 其它优化包:针对特定操作系统的可选优化工具,用于提升系统性能。
1.2 系统服务与进程逻辑
代理端在不同操作系统中均采用多进程/服务协作模式,以保障高可用性。
Windows 环境
| 服务名称 | 进程名称 | 核心职能与侦听端口 |
|---|---|---|
| hsr_service | HSRUserAuth | 负责桌面登录认证,默认侦听 TCP 15701。 |
| hsr_service | HSRAgent | 建立远程链路与串流传输,默认工作在 TCP&UDP 15702。 |
| hsr_service | HSRClipViewer | 串流协议中剪切板重定向的剪切板守护进程。 |
| hsr_protector | HSRProtector | 实时保护HSR相关工作进程,发现异常自动重新拉起。 |
| vdiUsbRedirect | vdi USB Redirect Service | 负责 USB 端口重定向,默认侦听 TCP 5703。 |
| mole_service | moleService | 执行管理面任务、审计上报与版本更新。 |
| mole_protector | moleProtector | 实时保护Mole相关工作进程,发现异常自动重新拉起。 |
"端口特殊说明" 因历史原因,USB 重定向服务侦听的端口为 5703,而非 15703,在进行防火墙策略配置、公网端口映射时请务必留意。
Linux 环境
在 Linux 操作系统中,通过 systemctl 统一管理以下三个核心代理服务端:
- mole:控制面代理服务端。
systemctl status mole
● mole.service - Mole Service
Loaded: loaded (/lib/systemd/system/mole.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2026-01-09 17:21:54 CST; 1 months 1 days ago
Main PID: 28415 (moleService)
Tasks: 8 (limit: 9431)
Memory: 14.2M
CGroup: /system.slice/mole.service
└─28415 /opt/apps/mole/moleService
- hsrserver:协议串流服务端。
systemctl status hsrserver
● hsrserver.service - HSR Server
Loaded: loaded (/lib/systemd/system/hsrserver.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2026-01-09 09:10:40 CST; 1 months 1 days ago
Main PID: 1377 (HSRUserAuth)
Tasks: 37 (limit: 9431)
Memory: 139.8M
CGroup: /system.slice/hsrserver.service
├─ 1377 /opt/apps/hsrserver/HSRUserAuth
├─2422034 /usr/bin/su user1 -c /opt/apps/hsrserver/HSRAgent domain= user_name=user1 client_id=79472 features=671 agent_tcp_port=15702 client_os_arch=1 client_os_ty>
└─2422042 /opt/apps/hsrserver/HSRAgent domain= user_name=user1 client_id=79472 features=671 agent_tcp_port=15702 client_os_arch=1 client_os_type=5 client_os_dist=0 >
- atusb:USB 重定向服务端。
systemctl status atusb
● atusb.service - atUsb service
Loaded: loaded (/lib/systemd/system/atusb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2026-01-09 09:10:39 CST; 1 months 1 days ago
Main PID: 1044 (usbservice)
Tasks: 2 (limit: 9431)
Memory: 1.2M
CGroup: /system.slice/atusb.service
└─1044 /opt/atserver/hsrusb/usbservice
二、 架构优势:带内协议技术
云空间协议属于带内协议(In-Band Protocol)。与在虚拟化层截获画面的传统“带外协议”(如 VNC、SPICE)相比,其优势显著:
- 底层解耦:驻留在桌面内部运行,不依赖特定虚拟化底层,具备极佳的通用性。
- 高性能采集:能够直接驱动并利用物理显卡(GPU)能力,从物理显卡采集原始画面并进行高效抓屏编码。
- 资源归属清晰:抓屏编码时的 CPU 占用、会话期间的网络流量都归属于虚拟机自身的资源消耗,利于基础设施规划。
"运行约束" 基于带内协议的远程桌面会话依赖云桌面自身的运行状态。当云桌面处于关机状态时,必须先通过管理端对其开机,待开机完成后方可连接(连接过程中看不到操作系统的开机画面)。
三、 支持的操作系统与 CPU 架构
代理端目前支持的 云桌面操作系统 类型与 CPU 架构详列如下。
注意:云桌面 OS vs 客户端 OS
此处列出的仅为“作为云桌面运行”的操作系统。其他未列出的操作系统(如 macOS、Android 等)均不支持作为云桌面操作系统使用,请勿与客户端支持的操作系统混淆。
| 操作系统类型 | CPU 架构 | 具体版本支持范围 |
|---|---|---|
| Windows | X86_64 | Windows 7、Windows 10、Windows 11 |
| Windows Server | X86_64 | Windows Server 2019、Windows Server 2022 |
| Linux (通用) | X86_64 / ARM64 | Ubuntu、Debian、深度 (Deepin) |
| Linux (信创) | X86_64 / ARM64 | 统信 UOS、麒麟 Kylin、中科方德 NfsDesktop |
Linux 云桌面特殊要求
- 界面要求:必须包含图形界面,不支持纯 TUI 的 Server 版。
- 图形方案:仅支持 X11 图形解决方案,暂不支持 Wayland;系统必须安装并使用 lightdm。
- 驱动依赖:扩展屏功能需安装与内核版本相关的 virtio-gpu 驱动。
- USB 支持:USBRedirect 组件与内核版本高度相关,需根据实际内核版本号安装对应的版本包。
说明:在版本发布目录中仅包含常用的代理端版本。若在上述范围内缺少相应包,请与厂商联系获取。
四、 环境准备与特殊配置
Mole 代理端正常工作时,必须配置为指向管理端,以建立稳定的通信链路。根据桌面类型的不同,推荐采用以下配置方式:
核心提示:必须确保虚拟机成为云空间中的“桌面”对象。如果仅仅是在 IaaS 平台直接创建虚拟机,其内部的代理端组件(Mole)即使指向了管理端,也不会被管理端接纳,导致无法建立联系。
4.1 专用桌面与动态桌面
在为专用桌面、动态桌面制作镜像(或模板)时,应预装 Mole 代理端包,并在镜像内完成管理端地址的初步配置。
- 操作指引:具体镜像封装流程请参考 系统控制台 -> 镜像管理 -> 镜像制作 章节。
- 唯一性说明:当基于镜像创建多个实例时,桌面的 UUID 属性会随虚拟硬件信息的变化自动保持唯一性。
4.2 托管桌面
对于被托管的第三方虚拟桌面或物理桌面,必须在每台桌面内部独立安装 Mole 代理端,并通过验证码的方式完成地址配置,使其指向管理端并受控。
- 操作指引:具体配置流程请参考 租户控制台 -> 桌面池管理 -> 托管桌面池 章节。
