跳转至

代理端(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 代理端,并通过验证码的方式完成地址配置,使其指向管理端并受控。