博客/手机上的 tmux

手机上的 tmux:断线也不丢 Claude Code 会话

2026-07-17

iOS 会挂起退到后台的 App,移动网络也经常断。如果 Claude Code 会话直接挂在 SSH 连接上,这两件事都会让它中断。地铁进一次隧道,一个跑到第 38 分钟的重构就停了。

标准解法是 tmux:终端复用器,让 shell 和其中运行的程序留在服务器上继续跑,有没有人连着都一样。SSH 连接断了再连回来,会话不受影响。

手动工作流

用任何通用 SSH 客户端,流程都是这样:

ssh dev@your-server
tmux new -A -s claude    # create or attach
cd ~/projects/app
claude                   # start the agent
# ... connection drops on the train ...
ssh dev@your-server
tmux attach -t claude    # everything still running

这套流程本身没问题。在手机上的麻烦是输入量:每次断线都要手动重连再 attach,每个项目的 session 名得自己记,并行任务就有好几个命名 session 要管,而且任务跑完没有通知,只能时不时 attach 上去看一眼。

ServerCC 自动化了什么

ServerCC 会替你完成这些步骤。打开工作区并启动 Claude Code(或 Codex)时:

  • agent 自动在 tmux 会话中启动,不用起名,也不用敲 new -A
  • 重连后自动 attach 回这个工作区的会话
  • 并行的会话各有独立的 tmux 会话,全部列在「运行中」标签页里
  • 后台运行的会话停下来等输入时,ServerCC 会推送通知,不用为了看一眼反复 attach

关掉 App,任务继续跑。细节见持久会话。

如果你想自己搭

  • tmux new -A -s 名字 是幂等的,可以当作唯一的连接命令
  • PATH 要配在 .bashrc/.zshrc,别只放 .bash_profile。tmux 里的 shell 是交互式非登录 shell,只配在 profile 里会报 "claude not found"
  • 配置 set -g mouse on,触屏上才能正常回滚

完整的手机端配置见 Claude Code 手机版指南。