594 字
3 分钟
Tmux终端复用工具
在部署mx-space时,正在pnpm build
,ssh断开连接了,有点没绷住,所以看了一下在服务器上创建持久化会话,SSH 断连后会话仍在后台运行的方法。
screen和tmux对比
常用的终端复用器有两个,screen
和tmux
,询问AI对比了两个工具的区别,区别如下。
基础功能对比
功能 | tmux | screen | 胜出方 |
---|---|---|---|
分屏支持 | ✅ 垂直/水平分屏,自由调整布局 | ❌ 仅支持水平分屏 | tmux |
会话管理 | ✅ 会话可命名、分组、动态附加/分离 | ✅ 基础会话管理 | tmux(更灵活) |
快捷键 | ⌨️ 前缀键默认 Ctrl+b ,高度可定制 | ⌨️ 前缀键默认 Ctrl+a ,定制性低 | tmux |
脚本化控制 | ✅ 支持 CLI 和配置文件自动化 | ❌ 有限支持 | tmux |
滚动回查 | ✅ 支持鼠标滚动和快捷键翻页 | ❌ 需进入拷贝模式 | tmux |
状态栏 | ✅ 可定制状态栏(显示时间、主机等) | ❌ 无状态栏 | tmux |
进阶能力对比
场景 | tmux | screen |
---|---|---|
网络恢复 | ✅ 会话持久化,SSH 断连无影响 | ✅ 同等能力 |
窗格同步输入 | ✅ 多个窗格同步输入(set synchronize-panes ) | ❌ 不支持 |
插件生态 | ✅ 丰富插件(如 tmux-resurrect 会话保存) | ❌ 无插件 |
性能 | ⚡️ 轻量,响应快 | ⚡️ 同等轻量 |
学习曲线 | 📈 略高(功能多) | 📉 更简单(适合新手) |
tmux基础用法
安装
# Ubuntu or Debiansudo apt-get install tmux
启动
tmux
也可以在建立时显式地说明session的名字,这个名字可以用于解绑后快速的重新进入该session:
tmux new -s your-session-name
分离
在tmux窗口中,按下ctrl+b d
或者输入以下命令,就会将当前session与窗口分离,session转到后台执行:
tmux detach
会话管理
tmux ls
:查看所有会话
tmux attach -t 0
:恢复编号为0的会话
tmux attach -t mysession
:恢复命名会话
tmux kill-session -t mysession
:终止指定会话
窗口操作(前缀键默认为 Ctrl+b
)
快捷键 | 功能 |
---|---|
Ctrl+b c | 新建窗口 |
Ctrl+b 数字 | 切换到指定编号窗口 |
Ctrl+b n | 切换到下一个窗口 |
Ctrl+b p | 切换到上一个窗口 |
Ctrl+b & | 关闭当前窗口 |
Ctrl+b , | 重命名当前窗口 |
重命名session
tmux rename-session -t old-session new-session
Ctrl+b $
:重命名当前会话
参考
Tmux终端复用工具
https://fuwari.cbba.top/posts/tmux终端复用工具/