最开始接触到终端复用,只是为了实现一个很简单的需求。2014 年的时候刚接触后端,SSH 到服务器的时候因为网络或者其他原因断开,正在进行的任务也会终止。Terminal Multiplexer 一般都有一个 Session 的概念保存当前的状态。
刚接触到的是 Screen,后续一直在用 tmux,最近切换到了 Rust 写的 Zellij。
这篇文章算是总结,后续介绍详细的使用和特点。
分析一下区别
Screen
差不多 2014 到 2016 年在用。
用起来最方便的一个,功能也最基础,属于 GNU 套件。大部分操作系统自带。Screen 还有一个比较方便的地方,可以直接读串口数据。想简单读一下串口的时候就直接 Screen 了。
tmux
2016 年一直用到 2022 年
功能非常强大,终端分屏,复用,等等。完全可以替代 Screen。但是是 BSD 系大部分 Linux 发行版没有预装。
Zellij
技术栈转到 Rust 后,一直尽量使用 Rust 写的工具。从 2022 年后就一直用这个。从上面图可以看到有大一统的趋势。
算是最近的一个新秀,功能更强大,支持 wasm 插件,正在尝试写插件。