Linux下使用screen或tmux管理多个终端会话
你在学习文章相关的知识吗?本文《Linux下使用screen或tmux管理多个终端会话》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!
结论:建议从screen迁移到tmux,因其默认行为更合理、配置更清晰、插件生态更活跃且预装率高;tmux a默认连接上一个detached会话而非最新会话,需用tmux a -t指定;screen -r失败常因会话已死或未detach,应先screen -ls再screen -wipe;tmux快捷键失灵多因Ctrl+b未松开即按后续键,可改前缀键和启用鼠标支持。

直接说结论:如果你现在还在用 screen,建议尽快迁移到 tmux;不是因为 screen 不能用,而是 tmux 的默认行为更合理、配置更清晰、插件生态更活跃,且多数新发行版已默认预装或一键可装。
为什么 tmux detach 后再 attach 总是进错会话
常见现象是执行 tmux a 后连上了某个旧的、自己都忘了的会话,而不是最近用的那个。这是因为 tmux a 默认只连接「上一个 detached 的会话」,不按时间顺序,也不看活跃度。
- 想连指定会话?必须用
tmux a -t mysession,先通过tmux ls确认名字 - 如果会话没命名(比如只敲了
tmux),它会被分配编号如0、1,此时要用tmux a -t 0 tmux a和tmux attach完全等价,但别依赖它“智能选”,它不智能- 容易踩的坑:多个会话同名(比如都叫
0)时,-t 0只匹配第一个,后续同名会话会被忽略
screen -r 报错 “There is no screen to be resumed” 怎么办
这不是会话丢了,而是 screen 认为当前没有「已分离但仍在运行」的会话——可能已被 kill,或根本没 detach 就关了终端。
- 先运行
screen -ls,看输出里有没有Dead或Socket missing字样;有就说明进程已死,得重来 - 如果显示
There is a screen on … (Dead ???),执行screen -wipe清理残留 socket - 若
screen -ls完全空白,但你知道程序还在跑(比如ps aux | grep your_cmd能看到),说明它根本没进 screen,只是在裸 shell 里启动的 - 注意:
screen -r只能恢复 detached 状态的会话;如果会话还 attached 着(比如另一终端正连着),会报 “There is a screen on … and there is no screen to be resumed”
tmux 窗格分屏后光标卡住、快捷键失灵
典型表现是按下 Ctrl+b 没反应,或按了 % / " 后窗格没分裂,反而输入了字符。这基本等于你没松开 Ctrl+b 就按了下一个键。
Ctrl+b是前缀键,必须「按完松开」,再单独按命令键(比如%),不是Ctrl+b%连按- Mac 用户注意:自带终端可能把
Ctrl映射成Cmd,或启用了「使用 Option 键作为 Meta 键」,导致Ctrl+b实际发不出 - 临时验证方式:进 tmux 后按
Ctrl+b ?,能弹出帮助页就说明前缀生效;否则检查终端设置或改用tmux -u强制 UTF-8 - 窗格分裂后,默认焦点仍在原窗格,要用
Ctrl+b o或方向键切换,不是自动跳转
如何避免每次都要记一堆 Ctrl+b 组合键
没人该靠死记硬背操作终端复用器。真正省事的方式是改配置,而不是忍着用默认键绑定。
- 编辑
~/.tmux.conf,加一行set -g prefix C-a,就能把前缀从Ctrl+b改成Ctrl+a(和screen一致,降低切换成本) - 想让
Ctrl+方向键切窗格?加:bind -r Left select-pane -L等四行 - 启用鼠标支持(滚动、点击切窗格):加
set -g mouse on(tmux 2.1+) - 改完记得重载:
tmux source-file ~/.tmux.conf,不用重启会话
复杂点在于:tmux 的配置项有 session 级和 global 级之分,有些设置(比如 mouse)必须在会话创建前生效,所以改完配置后新起的会话才认;老会话 reload 也只影响新增行为,已有窗格不会自动启用鼠标滚动——这点容易被忽略。
到这里,我们也就讲完了《Linux下使用screen或tmux管理多个终端会话》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!
短链接还原php后怎么分享_生成新短链接的便捷方法【介绍】
- 上一篇
- 短链接还原php后怎么分享_生成新短链接的便捷方法【介绍】
- 下一篇
- 怎么修改电脑的用户账户头像_系统设置账户信息更改【教程】
-
- 文章 · linux | 2星期前 |
- Linux下禁用su切换用户设置方法
- 187浏览 收藏
-
- 文章 · linux | 2星期前 |
- Linux下解压ZIP文件的几种方法
- 288浏览 收藏
-
- 文章 · linux | 2星期前 |
- Linux修改文件所有者教程
- 250浏览 收藏
-
- 文章 · linux | 2星期前 |
- Linux搭建网站服务器详细教程
- 280浏览 收藏
-
- 文章 · linux | 2星期前 |
- Linux容器安全配置全攻略
- 122浏览 收藏
-
- 文章 · linux | 2星期前 |
- Linux下安装Wine运行Windows软件方法
- 497浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- 剧云
- 剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
- 59次使用
-
- 万象有声
- 万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
- 60次使用
-
- Red Skill
- 小红书创作服务平台为小红书创作者和机构提供视频上传、数据分析、粉丝管理、创作指导等多项运营服务,助力用户解锁更多创作者专属功能,体验高效创作!
- 63次使用
-
- MiMo Code
- MiMo Code 是小米大模型团队开源的新一代 AI 编程助手,面向开发者提供代码理解、生成与辅助开发能力,适合作为 AI 编程工具收藏和体验。
- 160次使用
-
- TRAE Work
- TRAE AI IDE | 国内首款 AI 原生集成开发环境,深度集成 Doubao-1.5-pro 与 DeepSeek 模型,支持中文自然语言一键生成完整代码框架,实时预览前端效果并智能修复 BUG。首创 Builder 模式实现需求到代码的自动化开发,兼容 Windows/macOS 系统,官网下载即用。
- 184次使用
-
- 命令行工具:应对Linux服务器安全挑战的利器
- 2023-10-04 501浏览
-
- 如何使用Docker进行容器的水平伸缩和负载均衡
- 2023-11-07 501浏览
-
- linux .profile的作用是什么
- 2024-04-07 501浏览
-
- 如何解决s权限位引发postfix及crontab异常
- 2024-11-21 501浏览
-
- 如何通过脚本自动化Linux上的K8S安装
- 2025-02-17 501浏览

