终端平铺工具:控制台专家的多路复用利器

B站影视 港台电影 2025-06-25 22:22 1

摘要:对于所有钟爱控制台的顶级黑客来说,平铺窗口管理器——或者说现在的平铺Wayland合成器——是管理多个终端会话的必备工具。但你完全可以在控制台内直接实现平铺功能!这不是更酷吗?我们深入研究了六种平铺终端的方法。

对于所有钟爱控制台的顶级黑客来说,平铺窗口管理器——或者说现在的平铺Wayland合成器——是管理多个终端会话的必备工具。但你完全可以在控制台内直接实现平铺功能!这不是更酷吗?我们深入研究了六种平铺终端的方法。

GNU Screen

GNU Screen是这一领域的鼻祖。去年我们介绍了第5版,上个月5.0.1版本发布。作为1980年代的GNU工具,虽然几乎可以在所有系统上运行,但使用起来相当神秘和困难。例如,在本地机器上使用时,它将会话和窗口视为独立概念,这意味着很容易打开空白窗口。它还能处理串行线路的波特率等问题。如果你仍然需要这些功能,我们深表同情,但对大多数用户来说,这些功能已如电话拔号音一样过时。Screen功能强大但令人困惑,不过这也为众多入门教程和速查表提供了机会。

Screen的一个经典应用场景是:从工作电脑连接到远程服务器,执行命令,让某个任务在后台运行然后断开连接——回家后从家用电脑重新连接到同一个运行中的会话。

Tmux

Tmux是Screen的现代化小型替代品。它既能处理多个本地终端会话,也能管理到多台远程机器的连接。配合外部的tmuxp会话管理器,你可以保存整套连接配置,稍后重新加载或在它们之间切换。

这种复杂性可以说是"更糟就是更好"设计理念的体现,这也是Unix哲学的一种观点。这意味着Tmux不可避免地复杂。要熟练掌握它,你必须理解一整套概念。它的选项如此丰富,甚至有专门的书籍介绍。此外还有完整的插件列表和相应的插件管理器。

Byobu

不过帮助就在眼前。前Canonical Ubuntu产品经理Dustin Kirkland开发了Byobu(以日式折叠屏风命名)。Byobu可以独立处理会话,但如果安装了screen或tmux,它可以作为包装器使用,提供更友好的前端界面,简化键盘快捷键并提供实用的状态栏。(在我们的测试中,如果两者都安装,默认使用Tmux。)

如果你想继续使用这些工业级工具但需要更友好的前端,Byobu就是理想选择。

Zellij

Zellij是现代平铺终端多路复用器。它以摩洛哥传统陶瓷瓷砖命名,这也影响了葡萄牙的azulejaria艺术。

Zellij程序用Rust实现,提供比Screen或Tmux简单得多的用户界面——与Byobu相比也毫不逊色。某些Linux发行版、FreeBSD和macOS都有原生包,NetBSD有旧版本。不过一些主流发行版缺失支持。例如,我们没有找到Debian和Ubuntu系列的原生.deb包,但Ubuntu用户可以安装snap包。没有Flatpak是因为它不能很好地处理命令行工具。如果你避免使用snap,则需要安装Rust编译器和Cargo自行构建。

DVTM

如果你倾向于极简主义,认为大型复杂程序及其包装器让人不适——或者不愿意安装snap包或构建Rust应用的重要依赖——那么dvtm可能更适合你。

它更小、更简单、比Tmux稍易使用,部分原因是功能较少。Tmux和Screen都能处理其他机器上会话的断开和重连。Dvtm没有内置此功能,但如果需要会话管理,可以配合名为abduco的伙伴程序使用,提供类似功能。

Massimiliano Ghilardi的Twin已存在超过20年,尽管尚未达到1.0版本。Twin是Textmode Window Environment的缩写,Ubuntu Noble的仓库中有收录。与其他一些项目类似,Twin为Linux控制台或终端模拟器带来了Borland TurboVision风格的文本用户界面。

Twin与众不同,虽然它可以进行平铺或终端操作,但功能不仅限于此。如果先安装gpm包,它甚至支持鼠标输入。它可以平铺终端窗口,也能处理重叠窗口。我们发现它在虚拟机中跟踪鼠标时略有困难,常见的CUA风格键盘快捷键对我们不起作用,但潜力巨大。

看到Twin扩展并吸收其他工具的功能会很有趣,比如CUA文本编辑器、CUA文件管理器,以及类似Tmux但支持鼠标和CUA键盘界面的工具。许多此类工具都存在,如Tilde,以及Ranger和F2 Commander等文件管理器,但缺乏统一界面。很久以前曾有尝试创建基于Ubuntu的纯文本桌面INX,Twin很适合那种环境。

微型终端多路复用器

如果所有这些对你来说都过于复杂而回报太少,你只想要平铺功能,那么mtm可能适合。它由Rob King开发,他的Commodore-64主题主页很引人注目。

我们没找到Mtm的安装包,所以你需要下载源码自行编译。在Ubuntu上编译需要先安装ncurses开发库:

sudo apt install lib64ncurses-dev

哪个最好?

在Linux世界中,这取决于你的需求。Screen难以使用,但几乎可在所有类Unix系统运行。Tmux覆盖面几乎同样广泛,能满足21世纪用户的所有想象。两者都有些神秘,但Byobu帮助很大。

对我们来说,如果你不反对其打包方式或依赖关系,Zellij最易使用。我们非常欣赏它更有用的界面,但如果你觉得杂乱,它也提供紧凑视图选择。

当然,如果你想在GUI级别进行平铺,还有数十种工具可选。Arch Wiki列出了14个这样的工具和12个Wayland合成器。一些终端模拟器也集成了某种形式的多路复用,如Terminator和Tilix。如果你想要更Rust化的选择,并且在BSD、macOS或Windows上使用,Wezterm可能适合你。

补充说明

如果Dustin Kirkland这个名字听起来很熟悉,他在Ask HN上的提问可能影响了Canonical后来放弃Unity及其融合梦想的决定。

来源:新浪财经

相关推荐