Skip to content

NikoDesk v1.0.6

Choose a tag to compare

@github-actions github-actions released this 07 Oct 05:37
· 17 commits to main since this release

NikoDesk 1.0.6 / build 15. The native protocol stays at 1.5.0.

除特别说明外,下面的验证都是在同一台 Mac 的两个身份之间、经私服中继、用这份源码的开发构建做的。

隐私屏:有了看得见的开关和状态

隐私屏功能本来就有(被控 Mac 的显示器变黑、本机键鼠暂停,主控端画面不受影响),但入口藏在工具栏"显示"菜单里,而且没有任何地方显示它是否开着。

  • 工具栏按钮:点一下开关;开启时按钮高亮,鼠标停上去会显示当前状态。不能开关时,点它会打开说明。
  • 控制中心 → 隐私屏:一个开关,加上当前状态的文字说明。
  • 远端画面上的标记:开启期间左下角一直显示"隐私屏已开启",工具栏收起也看得到,电脑和手机端都有。
  • 不可用时会说原因:被控端没有允许、只读会话,或被控端不支持。

怎么用: 先在被控电脑上允许一次:设置 → 会话安全 → 允许新连接使用隐私屏(默认关闭,本版没有改这个默认值)。已经连着的会话,可以在被控电脑的连接窗口里单独打开隐私屏权限。这两步都可以通过远程画面去操作。

在被控电脑上按 Control + Option + Shift + Esc(Mac)或 Esc(Windows),或者断开连接,屏幕都会恢复。断开时如果隐私屏开着,下次连接这台设备会自动再开启。

帧率:上限放开到 120

  • 自定义帧率上限此前在 NikoDesk 自己的面板里只到 60,而会话本身一直支持 120。滑块现在到 120。
  • 操作流畅此前请求的是均衡画质,会话会把它固定在 30 帧。现在请求 50% 码率比例,帧率上限按本机屏幕的刷新率取 60 到 120。之前保存过旧含义的设备会显示为"自定义",重新选一次即可。
  • 被控 Mac 能出到设定的上限了。 画面循环此前每帧"睡满剩余时间",多睡的时间都加进了周期:60 的上限实际只出 54。现在按绝对时刻走。

被控电脑发出的新画面不会多于它自己显示器的刷新率。这里用的那台 5K Mac 是 75Hz 的显示器,所以它最多每秒 75 帧,上限设多高都一样。

图标

Windows 的程序图标、便携包图标、托盘图标,以及 Android 的桌面图标,此前一直是上游的:名字改了,图片文件没换。现在都是 NikoDesk 的图标,并加了一项打包测试防止再换回去。

日志

被控端在有画面传输时每 30 秒记一行:尺寸、编码器、每秒新画面数和当时的上限、画质、目标码率、最新延迟。此前日志里没有这些,遇到卡顿只能从设置反推。

验证与边界

项目 结果
隐私屏(被控端已允许,真实会话) 请求得到"已进入"的答复;开启期间显示器颜色表里最亮的值是 0(确实黑了),主控端画面继续到达;关闭后答复"已退出",该值回到 1
隐私屏(被控端默认策略,真实会话) 主控端被告知未允许;强行发出的请求被答复"拒绝",状态保持关闭
隐私屏界面 每种状态、开关、按钮、标记都有单元和界面测试。面板、按钮和标记没有人在会话里手动点开看过
帧率上限(屏幕解锁,90% 画质,3200×1800,持续滚动 15 秒,各一次) 上限 60:每秒发出 59.6–60.2 帧新画面,解码 60.0,最长间隔 38 毫秒。上限 75:73.0–73.8,解码 74.9,35 毫秒。上限 120:75.0–75.4(显示器的刷新率),解码 107.3(含未变化画面的重复帧),28 毫秒。都没有超过 100 毫秒的间隔,延迟中位 21–30 毫秒
出帧节拍(真实睡眠) 上限 30/60/75/120:修正前每秒 24.0/46.7/58.3/103.6 次,修正后 29.9/59.9/74.9/120.0
图标 Windows 图标文件含 16 到 256 共九种尺寸,托盘图标五种;测试能区分 NikoDesk 的图和上游的图。没有在 Windows 或 Android 设备上实际看过
1.0.5 的跨设备会话 屏幕宽 3024 的 Mac 拿到 3200×1800,屏幕宽 3840 的 Windows 电脑拿到 3840×2160,都是 5K Mac 上的硬件 H.265,都只凭密码登录

未验证:隐私屏、新的帧率上限和图标在 Windows、Android 设备上的实际表现;Windows 被控端的隐私屏;设备之间会话里的实测帧率和延迟;节拍修正在 Mac 以外的平台(其他平台保持原来的节拍)。

详见 docs/RELEASE-1.0.6.md。

更新

macOS 包仍是 ad-hoc 签名:换上新版后,屏幕录制和辅助功能授权会失效,需要在 Mac 上重新授予。不要在无法到场、也没有其他远控入口的情况下更新被控 Mac。

被控 Mac 需要 1.0.6 才能出到 60 及以上的上限;主控端需要 1.0.6 才有新的帧率上限和隐私屏的按钮、开关、标记。

Packages and boundaries

All seven platform packages are provided with SHA256SUMS. macOS ARM64: DMG and updater ZIP, ad-hoc signed without Developer ID notarization. Windows x64: portable EXE/ZIP and separate setup-validation EXE/ZIP, unsigned. Android ARM64: controller APK signed with the NikoDesk release key, versionCode 15.

The Mac updater validates and stages the ZIP for manual installation. Real cross-device frame rate and latency, background recovery and ToDesk comparisons remain separate acceptance work.