mirror of
https://github.com/kunkundi/crossdesk.git
synced 2026-11-10 17:49:20 +08:00
[feat] unify Windows unattended hosting and device identity
This commit is contained in:
+16
-9
@@ -150,14 +150,13 @@ sudo apt install "./crossdesk-virtual-desktop-xfce-linux-amd64-<version>.deb"
|
||||
| 设置 | 说明 |
|
||||
| --- | --- |
|
||||
| 语言 | 中文、English、Русский |
|
||||
| 采集方式(Windows) | 自动 / DXGI / WGC / GDI;无显示器主机使用“自动”启用自动适配 |
|
||||
| 视频编码格式 | H.264 / AV1;H.264 自动优先使用硬件编解码,不可用或初始化失败时回退到软件;桌面端 AV1 使用软件编解码 |
|
||||
| 启用 IP 直连 | 默认开启;保存后即时启停 IP 直连。关闭会断开 IP 会话、停止监听并隐藏主窗口模式按钮,重启后保持 |
|
||||
| 强制中继连接 | 关闭时自动选择连接方式,允许 P2P 和 TURN 中继回退;开启时仅通过中继连接 |
|
||||
| 保存远程画面预览 | 默认开启,保存远程画面预览;关闭后缩略图区域显示被控端平台,并清除已有预览,保留连接记录和密码 |
|
||||
| 被连接时开启隐私屏 | 设置本机被远程连接时是否自动启用隐私屏;会话中可从控制端工具栏切换 |
|
||||
| 自托管配置 | 点击“编辑”填写服务器地址和信令服务端口,使用右侧开关启用 |
|
||||
| 开机自启 | 保存后设置登录桌面时自动启动 |
|
||||
| 开机自启 | Windows 安装版 Release:使用现有 ID、密码在登录前提供远控;用户登录后自动启动普通客户端并接管同一身份,恢复完整功能。Windows 便携版和 Debug 不支持此开关。其他桌面平台保存后设置登录桌面时自动启动 |
|
||||
| 启用守护进程 | Windows / Linux 桌面模式保存后立即启用或停用异常退出后的自动重启,无需重启程序;正常退出或注销不会重新拉起。macOS 下次启动生效,无头控制台模式不启用内置守护 |
|
||||
| 文件保存路径 | 选择接收文件的目录 |
|
||||
|
||||
@@ -238,11 +237,15 @@ CrossDesk 已支持鸿蒙 PC、手机和平板,PC 与移动端分别构建 HAP
|
||||
|
||||
## Windows 锁屏与登录界面
|
||||
|
||||
Windows 的屏幕采集统一按 **DXGI → WGC → GDI** 自动回退,适用于实体屏、虚拟屏、无头启动、登录/安全桌面及管道兜底采集。设置页不再提供手动选择,旧的强制采集配置会在加载时清理。后端不可用时才继续尝试下一项;重连及解锁恢复重新按此顺序选择,运行中失效则沿序列继续回退。
|
||||
|
||||
**CrossDesk Service**(服务名 `CrossDeskService`)提供锁屏、登录、凭据输入及安全桌面的状态上报、`Ctrl+Alt+Del` 发送和键鼠输入转发。
|
||||
|
||||
安装版默认注册按需启动的服务,客户端启动时尝试启动它;未启用无人值守时,本机没有 CrossDesk 客户端进程后服务会自动退出。便携版可在提示窗口或“设置 → 锁屏控制服务”中安装服务,需要管理员权限。
|
||||
|
||||
Windows 的“开机自启”在当前用户登录后启动客户端。安装版使用以最高权限运行的登录计划任务,后续登录无需再次确认 UAC;便携版和 Debug 构建使用当前用户的普通启动项。升级安装版或手动启动新版时,会自动迁移指向该程序的旧启动项。关闭自启会删除相应注册。登录前远控需要另外启用下面的无人值守模式。
|
||||
Windows 安装版 Release 的“开机自启”使用无人值守服务:将 `CrossDeskService` 设为系统自动启动,并为启用此选项的用户注册登录后的 GUI 启动任务。后台持续独占本机身份和远控连接,GUI 通过经过身份验证的本机管道接入用户功能。关闭后移除开机与登录自动启动,将服务恢复为按需启动;手动打开 GUI 时仍由后台提供远控连接。“启用守护进程”只控制普通 GUI 的崩溃恢复。便携版和 Debug 不支持此开关。
|
||||
|
||||
首次开启时,先让普通客户端联网获得本机 ID。程序会保留当前 ID、密码、设备身份密钥和可信设备记录,并将它们同步到仅管理员和 SYSTEM 可访问的机器配置;原有用户配置保留。旧 Run 启动项会被登录启动任务替代,不再产生另一套无人值守 ID。已经使用旧版独立无人值守身份的安装,在新版中完成迁移后改用普通客户端现有身份。
|
||||
|
||||
<a id="windows-service-development-update"></a>
|
||||
|
||||
@@ -264,28 +267,32 @@ foreach ($serviceAction in '--service-stop', '--service-install', '--service-sta
|
||||
|
||||
服务重启期间远控可能短暂中断。完成后重新连接,分别测试普通桌面和锁屏输入。服务将使用该构建目录中的程序,请保留该目录;恢复使用安装版时,重新安装完整安装包以恢复对应的服务注册。
|
||||
|
||||
若已启用“开机自启”,切换构建目录后还需用新版客户端保存一次该设置,或在普通客户端退出后执行新版的 `--unattended-enable`,以更新登录后的 GUI 启动任务。单独修复服务不会更新这个任务的程序路径。
|
||||
|
||||
### 开机后尚未登录时远控
|
||||
|
||||
安装版支持独立的无人值守被控端。在完整安装目录中打开**管理员 PowerShell**,一次性启用:
|
||||
在“设置 → 开机自启”中开启并保存,主界面的本机 ID 和密码可以在登录前后通用,无需另记一套连接信息。也可以在完整安装目录中打开**管理员 PowerShell**启用同一功能;首次使用 CLI 启用前,先关闭普通客户端,或直接使用运行中客户端的设置开关:
|
||||
|
||||
```powershell
|
||||
.\CrossDesk.exe --unattended-enable
|
||||
# 等待联网注册后,查看独立设备 ID、密码和 online 状态
|
||||
# 查看共享的设备 ID、密码、online 状态及当前托管方 mode
|
||||
.\CrossDesk.exe --unattended-status
|
||||
```
|
||||
|
||||
使用返回的 `device_id` 和 `password` 从另一台设备连接。首次启用时复制当前客户端的服务器和编码设置,单独生成无人值守凭据;它与普通客户端的设备 ID 不同,重启、注销和重新启用时保留。后续执行启用命令会复用机器配置,不会覆盖它。自建服务器的根证书需要安装到本地计算机的信任存储中。
|
||||
使用原有 `device_id` 和 `password` 从另一台设备连接。密码变更(包括尚未确认的变更记录)、设备身份密钥和可信设备记录会在两种托管模式之间同步。后续重新启用会复用共享身份,不会生成新 ID。自建服务器的根证书需要安装到本地计算机的信任存储中。
|
||||
|
||||
启用后,`CrossDeskService` 改为系统启动时自动运行,无需 Windows 自动登录,也不需要保存 Windows 登录密码。服务以 SYSTEM 身份在当前控制台会话中启动无界面的被控进程,复用登录界面抓屏、键鼠及 `Ctrl+Alt+Del` 支持。用户登录、锁屏和关闭普通客户端不会停止它;注销、切换用户或进程崩溃后服务会重新拉起,期间连接可能中断,需要重新连接同一设备 ID。启动时网络尚未就绪会继续重试。
|
||||
启用后,`CrossDeskService` 随系统启动,无需 Windows 自动登录,也不需要保存 Windows 登录密码。服务以 SYSTEM 身份在控制台会话中启动无界面的被控进程,持续负责网络连接、抓屏、键鼠及 `Ctrl+Alt+Del`。GUI 等待用户桌面解锁后附加到后台,不再重新登录信令服务器,也不因 GUI 启动或退出而替换正在进行的远控连接。登录过程中保留同一条连接;退出或重启 GUI 时,后台仍可继续传送画面和处理键鼠。注销、切换 Windows 会话或重启服务仍需重建后台进程;网络中断也可能导致断线。启动时网络尚未就绪会继续重试。
|
||||
|
||||
无人值守模式提供画面、键鼠、多屏切换和安全桌面控制;不提供声音、文件传输、剪贴板或隐私遮罩。便携版和 Debug 构建不能启用此模式。设置和凭据位于 `%ProgramData%\CrossDeskUnattended`,只允许 SYSTEM 和管理员访问;日志位于其 `logs` 子目录。
|
||||
登录前提供画面、键鼠、多屏切换和安全桌面控制。登录界面支持由原生控制端独立绘制光标;采集期间暂时隐藏本机系统光标,停止采集、采集进程退出或连接保活超时后自动恢复。网页控制端仍使用视频内光标。启用自动隐私模式时,后台会在恢复虚拟屏桌面采集前接续光标控制,GUI 随后复用该状态,避免初始化期间短暂出现视频内鼠标;手动关闭隐私遮罩仍会恢复本机光标。GUI 附加后,声音、文件传输、剪贴板和隐私遮罩由登录用户进程处理,通过本机通道复用后台的连接;文件操作不会以 SYSTEM 身份执行。GUI 的主动远控和局域网直连仍使用原有实现。密码、共享设置和可信设备记录由后台统一保存并同步给 GUI。GUI 退出时用户功能暂时不可用,重新打开后恢复。便携版和 Debug 不能启用此模式。共享身份位于 `%ProgramData%\CrossDeskUnattended`,只允许 SYSTEM 和管理员访问;GUI 与 SYSTEM 各自的运行缓存仍保持用户私有权限,日志位于机器目录的 `logs` 子目录。
|
||||
|
||||
无实体显示器或切换器未提供显示器信息时,无人值守端会在接受连接前尝试准备虚拟显示器,优先恢复此前记录的显示器分辨率(包括 3840×2160);没有有效记录时才使用 1920×1080。记录在启用开机自启和初始化抓屏时更新,CrossDesk 自己的虚拟屏与临时无显示器模式不会覆盖它。若驱动初始化失败,程序会记录原因并继续使用 Windows 提供的显示模式。
|
||||
|
||||
```powershell
|
||||
# 停止无人值守被控端,并恢复服务按需启动
|
||||
.\CrossDesk.exe --unattended-disable
|
||||
```
|
||||
|
||||
关闭普通“开机自启”不会关闭无人值守模式。禁用或卸载服务会取消无人值守启动,但保留受保护的机器配置;若需彻底清除凭据,在服务停止后由管理员删除该目录。
|
||||
关闭设置中的“开机自启”等同于禁用无人值守模式;CLI 的启停结果也会反映在该开关中。禁用或卸载服务会取消无人值守启动,但保留受保护的机器配置;若需彻底清除凭据,在服务停止后由管理员删除该目录。
|
||||
|
||||
<details>
|
||||
<summary>手动部署与服务管理命令</summary>
|
||||
|
||||
Reference in New Issue
Block a user