简而言之
- 在 Mac 上:安装桌面应用并配对手机,这就够了。
- 在 Windows 上:步骤相同,另外多一项设置。Windows 无法把正在运行的终端交给另一个应用,因此请开启 Set as default terminal app(设为默认终端应用),之后新开的终端都会在 Agent Terminal 中打开,手机就能连接它们。
桌面应用的作用
手机上的 Agent Terminal 不运行命令。每个 shell 都运行在你的 Windows 电脑或 Mac 上,桌面应用负责以下工作:
- 让终端持续运行:终端运行在宿主进程中,因此关闭应用,或手机失去信号,都不会结束它们。
- 通过二维码配对手机。
- 允许手机接入。所有连接都严格经由桌面应用中唯一的 SSH 网关,并受其把关,该网关只接受公钥。
- 让手机在外也能连接,在私有网络中同样可以。
在 macOS 上
安装桌面应用、配对手机,然后在手机或电脑上打开终端。在 Settings(设置)中开启 Start the host when you log in(登录时启动宿主)后,即使应用没有打开,手机也能连接你的终端,而且宿主意外停止时会自动恢复。
Mac 还能把已经打开的 shell 移过来。开启 Move shells from your terminal app to Agent Terminal(把 shell 从终端应用移到 Agent Terminal)后,在此之后打开的 Terminal、iTerm2 或 Ghostty 窗口中按下 Ctrl+\,再按 s,该 shell 就会移到 Agent Terminal,手机即可连接。
在 Windows 上
Windows 不允许一个应用把正在运行的终端交给另一个应用:控制台会一直留在启动它的窗口中,直到结束。Windows 只会在终端应用启动时把控制台交给它。
因此我们推荐设置一项。在桌面应用中打开 Settings → General(设置 → 通用),点击 Set as default terminal app 旁边的 Apply(应用)。此后,从开始菜单、快捷方式或运行对话框打开的命令提示符和 PowerShell 窗口,都会改为在 Agent Terminal 中打开,手机也能连接它们。若要恢复,请点击同一行的 Undo(撤销)。
如果不开启:
- 在 Agent Terminal 之外打开的终端,手机无法连接。
- 在 Agent Terminal 中打开的终端,无论是在电脑上还是从手机上打开,手机都可以连接。
无论是否开启,在开启之前已经打开的终端都会留在原处。