03
节点在线,却没有 macOS 原生能力
headless node host 与 macOS companion app 不能视为同一种执行环境。官方说明,headless node host 用于在其他机器上提供受控命令执行;macOS 菜单栏应用则以内置节点运行时连接 Gateway,并额外提供相应的 Mac 原生能力。若需要屏幕、桌面控制等图形能力,仅有 SSH 命令执行的 headless 节点并不能自动替代 companion app。节点命令参考和节点总览给出了这一区别。
在同一台 Mac 上,若已由 macOS 应用提供节点连接,不要再随手启动一个独立的 CLI 节点:官方文档提示,这会形成两个节点身份,排查时可能看错目标或误以为能力重复。节点类型应按任务需求选,而不是只看哪个进程更容易启动。
| 节点形态 |
能做什么 |
典型排障重点 |
选择判断 |
| headless node host |
提供配置范围内的命令执行能力 |
配对、命令策略、本地执行审批、运行用户环境 |
任务以命令行为主时优先评估 |
| macOS companion app |
连接为 Mac 节点,并提供文档所列的原生能力 |
应用配对、能力审批、macOS 隐私权限 |
任务需要图形或系统原生能力时评估 |
即使节点已经连接,macOS 的权限仍然是单独的边界。屏幕采集、辅助功能、事件输入等授权彼此独立:截图能成功,不代表点击和键盘输入也能工作。macOS 权限说明还指出,权限授权与应用代码签名、应用标识和磁盘路径相关;应用换路径或身份变化后,旧授权可能不再适用。因此要按具体任务逐项确认权限,不要用“系统设置里已经开过权限”作为所有 Mac 工具都可用的证据。
常见故障的独立判断
- 远程节点怎么接入? 先决定 Gateway 的网络入口,再让节点连到该 Gateway;核对设备身份与节点能力审批,最后做实际调用。
- Gateway 已通但工具失败? 依次看节点状态、设备配对、节点命令面批准、Gateway 命令策略、节点执行审批和任务需要的 macOS 权限。
- 隧道和 Tailnet 怎么选? loopback 加 SSH 隧道适合收紧入口;受信任的 Tailnet 适合已有私网管理的环境。选哪一种都要验证认证与授权,而非只看网络可达。
- 重启后怎样确认恢复? 检查服务状态和节点重新连接,再提交一项无敏感凭据的真实任务;结果必须能确认由目标 Mac 执行。