这几年,AI 编程、容器开发和远程运维越来越普及,很多开发者待在终端里的时间甚至已经超过了图形界面。打开电脑,第一件事不是启动浏览器,而是打开终端;一天的工作结束,最后关闭的窗口往往也是终端。
也正因为如此,我开始重新思考一个以前几乎不会关注的问题:默认终端真的已经足够好了吗?
刚开始接触 Linux 时,我和大多数人一样,用的都是系统自带的终端。Ubuntu 用 GNOME Terminal,KDE 用 Konsole,几乎没有想过还有其他选择。直到后来接触 Docker、Git、SSH、Vim、Neovim,再加上越来越多时间都在命令行里完成,我才发现,一个终端程序的体验,远比想象中重要。
前段时间,我把默认终端彻底换成了 WezTerm。原本只是抱着试试看的心态安装体验,没想到用了几周之后,我已经完全没有换回默认终端的想法。

终端并不是都一样
很多人会觉得,终端不就是一个输入命令的窗口吗?
事实上,终端真正负责的是字符渲染、窗口管理、快捷键、标签页、分屏以及与 Shell 的交互,它更像是一座桥梁,把用户和命令行连接起来。不同终端虽然都能执行同样的 Bash、Zsh 或 Fish 命令,但在体验上的差距却非常明显。
以前这种差距并不突出,因为大家使用终端的场景比较简单,大多数时候只是执行几条命令、修改配置或者查看日志。如今开发方式发生了很大的变化,一个终端窗口里可能同时运行着 AI 编程助手、Docker 容器、远程服务器、Git、数据库以及各种开发工具。如果终端本身的能力有限,工作效率也会受到影响。
我真正意识到这一点,是在尝试复现一些开发者分享的工作流时。很多人的终端可以同时显示多个窗格,直接预览图片,字体渲染也更加细腻,整个界面干净流畅,而默认终端却很难实现这些效果。后来我才知道,原来 Linux 世界里除了系统自带的终端,还有 Kitty、Alacritty、Ghostty、WezTerm、Terminator 等大量优秀的终端模拟器,它们的定位和设计理念完全不同。

为什么最后选择了 WezTerm
试用过不少终端之后,我最终留下的是 WezTerm。
最吸引我的地方,并不是它的界面,而是它几乎可以在所有主流平台上使用。Linux、Windows、macOS 都可以安装,同一份配置文件基本能够直接复用,对于经常在不同设备之间切换的人来说非常方便。
以前在 Linux 上调好的字体、快捷键和主题,换到 Windows 又要重新配置一遍。现在只需要同步配置文件,无论打开哪台电脑,都能获得一致的终端体验。
这种跨平台的一致性,看似不起眼,但每天都会用到。
它改变的不只是外观
很多人第一次看到 WezTerm,会觉得它只是颜值更高。
事实上,真正让我留下来的,是它对工作流的改善。
首先是原生支持标签页和分屏。不需要额外安装 tmux,就可以把一个窗口划分成多个区域,一边查看日志,一边编辑配置文件,同时还能开着 SSH 会话。这种布局方式比不断切换窗口顺畅得多。
其次,它采用 GPU 加速进行文本渲染,在大量日志快速滚动时依然保持流畅。虽然普通用户未必能明显感受到区别,但如果经常查看编译输出、Kubernetes 日志或者实时监控信息,就会发现滚动体验更加顺滑。
另外,它对于字体连字(Ligatures)、Emoji、True Color 等现代字体特性的支持也更加完善,尤其是配合 Starship、Oh My Posh 等提示符工具时,整个终端看起来更加整洁。
这些功能单独来看都算不上革命性的创新,但组合在一起之后,终端就不再只是一个黑色窗口,而是真正成为了每天都会使用的工作平台。

配置虽然复杂,却值得投入时间
不少人第一次接触 WezTerm,都会被配置文件劝退。
它采用 Lua 作为配置语言,而不是图形界面或者简单的配置项。这意味着刚开始需要花一点时间阅读文档,也需要适应配置文件的写法。
不过,一旦完成第一次配置,后面的维护反而非常轻松。
字体、透明度、快捷键、主题、窗口行为、启动方式,都可以写进配置文件进行统一管理。以后无论重装系统还是换电脑,只需要复制这一份配置,就能恢复整个终端环境。
相比很多只能依赖图形界面点击设置的终端,我反而更喜欢这种方式。因为所有配置都是文本,可以放进 Git 仓库管理,也方便长期维护。
对于喜欢折腾 Linux 的人来说,这种感觉其实并不陌生。
默认终端依然很好,只是目标不同
说到这里,并不是意味着 GNOME Terminal 或者 Konsole 不值得使用。
事实上,这几年 Linux 默认终端的发展速度也很快。以 GNOME 阵营为例,新的 Ptyxis 正在逐渐取代传统 GNOME Terminal,除了现代化界面之外,还针对 Toolbox、Distrobox、Podman 等容器开发进行了大量优化,在 Fedora、Ubuntu 等发行版中已经越来越常见。
如果日常工作主要围绕容器开发展开,Ptyxis 的容器集成功能确实非常方便,不需要额外配置就能直接进入容器环境,这也是它近年来受到不少开发者关注的重要原因。
而 Konsole 依旧拥有成熟稳定的功能体系,特别是在 KDE Plasma 桌面下,整体体验依然非常优秀。
也就是说,现在 Linux 默认终端已经不再像很多年前那样功能单一,对于绝大多数用户来说,它们完全能够满足日常需求。

Linux 的魅力,从来都是可以选择
Linux 世界一直有一个特点,就是几乎所有软件都有替代方案。
浏览器有 Firefox、Chromium、Brave;编辑器有 Vim、Neovim、VS Code、Helix;终端同样如此。
这种丰富的选择,有时候会让新手感到困惑,但真正用久了之后就会发现,大多数软件并没有绝对的优劣,更多只是适合不同的使用习惯。
如果每天只是偶尔执行几条命令,那么系统默认终端已经足够稳定,也无需刻意更换。
但如果终端已经成为每天工作时间最长的软件之一,那么选择一个更符合自己工作流的终端,就像程序员更换键盘、设计师更换显示器一样,是一种效率上的投资,而不是简单的折腾。
我并不会说 WezTerm 是 Linux 上最好的终端,因为每个人的工作方式都不同,有人喜欢极简的 Alacritty,有人偏爱功能丰富的 Konsole,也有人更看重 Ptyxis 的容器集成能力。不同终端都有自己的定位,也都有各自擅长的场景。
不过,如果让我重新选择一次,我依然会把 WezTerm 作为自己的默认终端。
它没有改变 Linux,也没有改变命令行本身,却让我每天面对终端时更加顺手。从跨平台一致的体验,到灵活的窗口布局,再到高度可定制的配置方式,它更像是一套能够长期陪伴开发者成长的工作环境,而不仅仅是一个运行命令的窗口。
对于每天都离不开命令行的人来说,一个好的终端,也许不会让工作速度翻倍,却会在无数个细节里,让每一天都变得更舒服一些。