linux终端分屏
时间: 2025-04-21 12:42:57 浏览: 17
### 使用 `tmux` 和 `GNU Screen` 实现 Linux 终端窗口分屏
#### 使用 `tmux`
`tmux` 是一种强大的终端复用工具,能够创建、管理多个独立的会话,并且可以在这些会话之间自由切换。对于分屏操作而言,`tmux` 提供了非常灵活的方式。
启动一个新的 `tmux` 会话:
```bash
tmux new-session -s mysession
```
水平分割当前窗格:
```bash
Ctrl+b "
```
垂直分割当前窗格:
```bash
Ctrl+b %
```
调整窗格大小可以通过快捷键组合完成,在进入布局编辑模式后可以拖拽边界改变尺寸[^1]。
选择不同的窗格进行交互时,按住 `Ctrl+b` 后再输入方向键即可移动焦点至相邻区域;也可以通过编号快速定位特定位置上的子窗口。
关闭选定的窗格:
```bash
Ctrl+d
```
当不再需要某个具体的分割部分时,可以直接将其销毁而不影响其他正在运行的任务。
保存会话以便后续继续工作:
```bash
tmux detach-client
```
这使得即使断开连接也不会终止后台程序执行流程,再次附加上去就能恢复之前的状态。
#### 使用 `GNU Screen`
尽管 `GNU Screen` 功能上与 `tmux` 类似,但在某些方面存在差异。默认情况下,`Screen` 并不支持直接可视化地划分屏幕空间为多个子窗口,而是采用“虚拟窗口”的概念——即每次打开新窗口都会独占整个终端界面[^3]。
不过,为了满足多任务处理需求,仍然能够在单个物理窗口内开启若干逻辑上的子窗口,并利用如下指令来进行基本配置:
启动新的 `screen` 会话:
```bash
screen -S myscreensession
```
创建一个全新的内部窗口(相当于新开标签页):
```bash
Ctrl+a c
```
在不同已有的内部窗口间循环切换:
```bash
Ctrl+a n # 下一窗口
Ctrl+a p # 上一窗口
```
启用硬状态栏以显示所有可用窗口列表:
```bash
hardstatus on
hardstatus alwayslastline
"%{-b kG}[ %02c:%s ]%{-}%?%-Lw%?%{r}(%n*%f)%{y}%t%?(%u)%?%{-}%+Lw%?"
```
此设置需加入 `.screenrc` 文件中生效。
若希望模仿真正的分屏效果,则可通过安装插件或借助外部脚本实现更为复杂的定制化方案。
相比之下,`tmux` 对于现代用户的友好度更高一些,尤其是在图形界面上的操作体验接近 Konsole 这样的原生 GUI 应用程序所提供的便捷性[^2]。
阅读全文
相关推荐


















