【免费下载链接】rootshell
rootshell - The terminal, reimagined for Apple platforms
rootshell 是一款面向 iPhone、iPad 和 Mac 的免费终端模拟器,其tmux/herdr 控制模式(Control Mode)能把远程服务器上的 tmux 窗口和 herdr 分屏,直接变成 rootshell 里的原生标签页与原生分屏——标签栏、侧边栏、键盘快捷键、Tab Exposé 全部原生可用,彻底告别在手机上戳 prefix 键的痛苦。本文带你快速上手这套控制模式。
上图中,标签栏里并排着 Gateway 标签(lchenMacBook-Air.lo…)和远程终端标签(test@eb662f3294c8…),这就是控制模式"多路复用变原生标签"的直观效果:每个 tmux 窗口或 herdr 标签都是一个独立的 rootshell 标签,可像普通 App 标签一样关闭、重排和拖动。
为什么需要控制模式?tmux 远程连接的真实痛点
如果你熟悉 tmux,大概经历过这些场景:
- 手机上操作 tmux 极其别扭:tmux 靠
Ctrl+Bprefix 加方向键操作,触屏体验糟糕 - 窗口切换要靠记命令:
tmux select-window -t 3之类的操作无法借助系统标签栏完成 - 分屏管理没有图形界面:拆分、交换、缩放 pane 都得敲命令
- AI 编码代理状态无处安放:Claude Code、Codex 等代理在哪个 pane 运行、是否等待输入,看不到统一状态
herdr 是新一代终端多路复用器(可理解为"更现代、面向工作区和 AI 代理的 tmux")。rootshell 通过控制模式把这两者的窗口/分屏"投影"成本地原生 UI,让你用点按、拖拽、快捷键管理远程终端,而进程依然稳定运行在服务器上。
快速启用步骤:3 种开启 tmux/herdr 控制模式的方法
开启控制模式非常简单,任选其一即可:
| 方法 | 操作路径 |
|---|---|
| 会话选择器 | 连接后在 multiplexer 会话选择器中勾选Control Mode |
| 配置自动启动 | 在连接 Profile 里把 auto-start 选项设为herdr (control)或 tmux 控制模式 |
| Quick Connect | 在快速连接框中追加参数--herdr-control |
三种入口都支持 SSH 和 tssh 连接,macOS 本地会话也可通过 rootshell 自带的 helper 使用(mosh 连接不支持,因为它缺少控制模式所需的辅助通道)。详细文档见 docs/herdr-control-mode.md。
💡Gateway 标签:控制模式会保留一个 Gateway 标签,里面是你的 shell 和连接控制。按Esc可从 herdr 分离(detach)而不停止服务器;在设置里还可开启"连接时自动隐藏 Gateway"。该行为说明见 rootshell/UI/Settings/Guides/TmuxGuideView.swift。
两种 herdr 连接模式:fallback 与完整控制模式的区别
这是新手最容易困惑的地方。普通上游 herdr 无需任何额外安装:rootshell 会自动切换到fallback 模式,依然提供大部分原生功能(原生标签/分屏、文本选择、选中时自动滚动等)。而可选的rootshell herdr fork会加入终端控制流,解锁完整控制模式。两者对比:
| 行为 | 普通 herdr / fallback | rootshell fork / 完整控制模式 |
|---|---|---|
| 原生标签、分屏、工作区管理、代理状态 | 支持(取决于主机 API 方法) | 支持 |
| 终端渲染 | herdr 发送已渲染画面,rootshell 原生展示 | rootshell 终端引擎渲染每个 pane |
| 滚动与搜索 | 视口历史归服务器所有 | 本地 scrollback,像素级平滑滚动 + 全局搜索 |
| 多设备同看一个标签 | 跟随上游客户端行为 | 支持共享查看(需协议 2+ 及相应能力) |
⚠️版本要求:需要rootshell 1.0.12-147 或更新版本+ 主机上herdr 0.9.0 或更新版本,两者是独立要求。rootshell 校验的是正在运行的 herdr 服务器版本,只升级 CLI 不够——重启服务器前记得保存工作。
在 iPad 上,每个远程会话同样是独立的原生标签页,标签带 × 关闭按钮,配合 Tab Exposé 一屏预览所有标签。
高频原生管理功能清单:Tab Exposé、分屏选择器与工作区面板
进入控制模式后,这些"白送"的原生能力最常用:
- Tab Exposé:从标签栏下拉或按
⌘⇧A打开,展示 herdr 会话所有标签的彩色实时预览,点一下就切换 - 分屏选择器:多 pane 标签内按⌘⌥P(或菜单 Terminal → Choose Pane to Zoom),输入数字或点按即可聚焦并放大某个 pane
- 工作区仪表板:新建/重命名/排序 herdr workspace,创建和打开Git worktree,把 pane 在不同标签/工作区间搬移,全部通过原生菜单完成(实现见 rootshell/Features/Herdr/Views/HerdrWorkspaceDashboardView.swift)
- Agent 通知直达对应 pane:herdr 的代理检测优先于 rootshell 自身检测,代理等待输入时,通知点击会跳回对应的那个 pane
- 会话持久化:开启 session persistence 后,本地 macOS 控制模式会话在 rootshell 重开时自动恢复
常见问题排查:herdr 控制模式连不上的解决方法
| 症状 | 排查方法 |
|---|---|
| herdr not found | 确认主机登录 shell 能找到 herdr(command -v herdr),别名不算 |
| 装了新版本,rootshell 却报旧服务器 | 用选定二进制重启目标服务器(herdr server stop后再启动);单看herdr --version只查 CLI,不代表运行中的服务器 |
| fork 装了却仍走 fallback | 检查 PATH 与运行中的服务器,关闭 Debug 里的Force herdr Fallback Mode,再分离重连 |
| 完整模式正常但共享查看不可用 | 旧版 fork 可能只广播流协议 1;查看 Connection Info 并按需升级 fork |
完整排查表与协议细节(JSON 控制流、端点回退、共享查看的所有权语义等)在 docs/herdr-control-mode.md,设置项集中在 rootshell/Features/Tmux/Settings/MultiplexerSettingsView.swift。
延伸阅读:控制模式相关的源码与文档
想深入理解实现的同学,可以从这些文件入手:
- 官方指南:docs/herdr-control-mode.md(含 fork 安装/卸载与回退方法)
- 控制模式核心控制器:rootshell/Features/Herdr/HerdrController.swift
- 服务端能力协商:rootshell/Features/Herdr/HerdrServerCapabilities.swift
- 通道传输(SSH/tssh/本地 helper):rootshell/Features/Herdr/Transport/HerdrChannelFactory.swift
- 连接配置中的 auto-start 选项:rootshell/Features/SSH/Config/SSHConfig.swift
- 多路复用器设置界面:rootshell/Features/Tmux/Settings/MultiplexerSettingsView.swift
掌握 tmux/herdr 控制模式后,rootshell 就真正成为了一台装在口袋里的"远程工作站":服务器保持 tmux/herdr 的会话持久化,手机、平板、Mac 各自以原生体验接入同一份终端布局,AI 代理在哪个 pane 等你输入,看一眼侧边栏就一目了然。
【免费下载链接】rootshell
rootshell - The terminal, reimagined for Apple platforms
相关推荐
LiquidPrompt与Tmux、Screen集成:终极终端多路复用体验指南
LiquidPrompt与Tmux、Screen集成:终极终端多路复用体验指南 想要在终端会话中同时管理多个任务,又希望保持清晰的上下文信息?LiquidPro
开发工具navi与Tmux:终端多路复用的最佳搭档
navi与Tmux:终端多路复用的最佳搭档 navi是一款交互式命令行备忘工具,能帮助开发者快速查找和使用命令。当与Tmux这款强大的终端多路复用工具结合使用时
开发工具Seed-VC语音转换终极指南:零样本克隆技术完全解析
Seed VC语音转换终极指南:零样本克隆技术完全解析 你是否想过,只需一段10秒的音频,就能让任何声音变成你想要的样子?🎤 今天,我要为你介绍一款革命性的语
人工智能语音音频微调
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考