三个终端模拟器横评:Kitty vs Foot vs OTTY
终端这个东西,选对了每天心情好,选错了一辈子跟卡顿和配置较劲。
今天聊三个风格完全不同的终端:Kitty、Foot、OTTY。它们都是开源的,但设计哲学一个比一个极端。
Kitty:老牌的 GPU 终端
提起 GPU 加速的终端,Kitty 绝对是绕不过去的名字。
作者是 Kovid Goyal(也是 Calibre 电子书管理器的作者),2017 年发布,到现在将近十年了。GitHub ⭐ 23k+,生态非常成熟。
核心卖点: 用 OpenGL 做渲染,把字符绘制和滚动全交给 GPU。
这意味着什么?你 cat 一个 10 万行的日志文件,或者 tail 一个高频输出的服务日志——在 Kitty 里滚动是丝滑的。不像传统终端那样一卡一卡。
Kitty 有几个很独特的东西:
- Kittens(扩展系统)——用 Python 写的小插件。内置了
icat(在终端里显示图片)、diff(终端内对比文件)、ssh(增强版 SSH 客户端)。这个生态是 Kitty 独有的,别的终端没有。 - 图形协议——Kitty 定义了一套终端显示图片的协议(Kitty Graphics Protocol),现在已经被很多工具(如 lf、yazi、fastfetch)支持。你可以在终端里看图片、看 SVG 图表。
- 分屏布局——内置 tab + 分屏,支持 tall、fat、grid 等布局模式,不需要装 tmux。
内存占用大概 60–100 MB,在 GPU 终端里算中规中矩。
跨平台:macOS + Linux(Windows 走 WSL)。
Python/C 实现,GPLv3 协议。
Foot:给 Wayland 量身定做的轻量终端
Foot 的定位非常纯粹:最快的 Wayland 原生终端,没有之一。
作者 Daniel Eklöf,2019 年发布,用 C 写的,MIT 协议。
和其他终端最大的区别是——它故意不用 GPU 加速。
Foot 走的是 CPU 软件渲染路线。但我不是说它慢——恰恰相反,它非常快。因为它是直接从 Wayland 底层拿帧缓冲(shm/buffer),没有 XWayland 那一层开销,延迟极低。
几个让人印象深刻的地方:
- 内存占用只有 21 MB——没看错,21 MB。Kitty 的 1/3 到 1/5,Alacritty 的 2/3。
- Server/Client 模式——启动
foot --server后台常驻,之后每次开新窗口用footclient,共享字体缓存和 glyph cache。启动时间几乎为零。 - Sixel 支持——可以在终端里显示图片(和 Kitty 的图形协议是两条路线)。
- 键盘驱动的 URL 操作——
Ctrl+Shift+O进入 URL 模式,会用字母标签标记所有可见 URL,按对应键打开。不用鼠标。 - OSC-133 提示跳转——支持在不同命令的输出之间快速跳转,不用翻半天。
但 Foot 有一个硬性限制:只支持 Wayland。没有 X11 支持,没有 macOS 支持,没有 Windows 支持。如果你还在用 X11 或者用 macOS,Foot 跟你无缘。
GitHub ⭐ 约 3.5k,活跃维护。
OTTY:不只是终端,是工作空间
OTTY 是两个项目,名字一样但路线不同,容易搞混。
不过我们先说 otty-shell/otty——就是 GitHub 上那个用 Rust 写的开源项目。
它的口号很直接:「not just another blazing-fast terminal emulator」。
OTTY 想做的不只是一个终端,而是一个以终端为中心的工作空间。它认为开发者大部分时间都在终端里,但终端本身太「窄」了——你需要在终端、编辑器、SSH 客户端、监控面板之间来回切换。为什么不能在终端里搞定一切?
几个有意思的设计:
- 侧边栏文件浏览器——跟终端当前目录自动同步,不用敲
cd+ls来回找文件。 - Quick Launch 面板——存常用命令和 SSH 目标,一键启动,不用反复敲。
- Block-based 终端 UI——把每个命令的输出当成一个「块」,可以单独选择、复制、高亮。不是传统的一滚到底。
它是 Rust 写的,Apache-2.0 协议,目前 v0.1.0-beta1,非常早期(31 个 commit,158 stars)。
支持 Linux(.deb/.rpm)和 macOS(.dmg)。
另外还有一个 otty.sh——这是一个 macOS 上的商业终端 App,GPU 加速(Metal),原生渲染,也是叫 Otty,但跟开源的那个不是同一个项目。它做了很多 AI Agent 集成(Claude Code、Codex),如果你用 macOS 开发 AI 相关工作流,那边那个也值得看一眼。
横评对比
| 维度 | Kitty | Foot | OTTY(开源版) |
|---|---|---|---|
| 渲染方式 | GPU(OpenGL) | CPU 软件渲染 | GPU(走 Surface) |
| 启动内存 | 60–100 MB | ~21 MB | — 早期无数据 |
| 平台支持 | Linux + macOS | 仅 Wayland(Linux) | Linux + macOS |
| 分屏/Tab | ✅ 内置 | ❌(靠 Wayland 合成器) | ✅ Tabs + Splits |
| 图片显示 | Kitty 图形协议 | Sixel | — |
| 扩展系统 | Python Kittens | 配置文件 | — |
| 成熟度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐(beta) |
| 协议 | GPLv3 | MIT | Apache-2.0 |
| 核心语言 | C + Python | C | Rust |
| 特色能力 | 扩展生态/远程控制 | 极致轻量/Server模式 | 块式UI/文件侧栏 |
怎么选?
想要生态成熟、功能最全 → Kitty。你能想到的终端功能它基本都有,扩展系统独一无二,适合重度终端用户。
你在用 Wayland(尤其是 Hyprland/Sway),想要最轻最快 → Foot。21 MB 内存占用加上 server/client 模式,对内存敏感的开发环境或者嵌入式场景非常友好。
想尝鲜、喜欢 Rust、想要一个终端形态的 IDE → OTTY(开源版)。但要有心理准备——它还在 beta,功能不全,bug 是常态。
用 macOS 做 AI 开发 → 可以看看 otty.sh 那个商业版。GPU 加速 + Agent 集成体验不错,不过是付费的。
没有最好的终端,只有最适合你工作流的终端。
资源
- Kitty: https://sw.kovidgoyal.net/kitty/ | GitHub: kovidgoyal/kitty
- Foot: https://codeberg.org/dnkl/foot | 文档: man foot
- OTTY(开源): https://github.com/otty-shell/otty
- Otty(商业版): https://otty.sh
评论