☰
rootshell的tmux/herdr控制模式终极解析:远程多路复用终端变原生标签页
2026/10/27 1:15:00 网站建设 项目流程

【免费下载链接】rootshell

rootshell - The terminal, reimagined for Apple platforms

项目地址:https://gitcode.com/gh_mirrors/roo/rootshell
点击查看免费下载

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 / fallbackrootshell 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

项目地址:https://gitcode.com/gh_mirrors/roo/rootshell
点击查看免费下载

相关推荐

上一篇:EasyStar.js 使用指南
下一篇:Zathura 开源项目安装与使用指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询