开源终端模拟器 Ghostty 的重大新版本已发布。
经过七个月的开发,Ghostty 1.4.0 带来了一系列多样的更新。Linux 和 macOS 上迎来了欢迎的性能优化,SSH 实现更加强大,重新排列标签页拆分也更加便捷——只需拖拽即可!
这款基于 Zig 构建的应用程序现在完全支持 Kitty 图形协议(包括动画和相对定位)——这是除 Kitty 之外首个实现此功能的终端。如果您使用 TUI 工具或脚本来在终端中渲染图像,这将是一项重大成就。

开发者表示,此次更新大幅提升了性能。值得注意的是,Ghostty 1.4.0 现在会在终端空闲时压缩离屏滚动缓冲区。这使得文本密集型历史记录所占用的物理 RAM 最多可减少 90%。
如果您进行回滚操作或使用今年早些时候在 Ghostty 1.3.0 更新中添加的文本搜索功能,内容将被解压缩。
在 Linux 上,Ghostty 的 GTK 应用程序能够在 125% 和 150% 等分数倍缩放比例下清晰渲染文本,这应能解决经常提到的文本模糊问题。
该更新还使用 EGL 渲染管线替换了 GtkGLArea,该管线在单独的线程上运行,并使用 DMA-BUFs 将帧传递给 GTK。这需要系统级的 EGL 库;如果 GPU 无法导出 DMA-BUFs,则使用较慢的基于 CPU 的复制方式。

此外,GTK 构建版本中的终端拆分可以通过拖拽进行重新排列。当标签页包含两个或更多拆分时,每个拆分都有一个拖拽手柄,可以抓取并拖放到另一个拆分上。
其他更改包括:
- 独立 SSH 包装器
- 更准确的终端模拟
- 实现了 Kitty 剪贴板协议
- 跨平台的多种性能改进
值得注意的 Linux 更改:
- 如果终端处于聚焦状态或已关闭,桌面通知将自动消失
- Noto emoji 字体更新,使新的 ZWJ 序列渲染为单个字形
- Dolphin 的“在此处打开 Ghostty"会在运行的实例中打开新窗口
- 拆分调整大小不再闪烁,且不能再被缩得太小
- 选择文本时鼠标光标保持文本形状
- 命令调色板在使用
window-theme = ghostty时使用终端颜色 - URL 现在通过 XDG desktop portal 打开
GTK 构建版本的配置选项还包括 gtk-horizontal-tab-scroll,可设置为 false 以禁用双指滚动切换标签页的功能;以及 gtk-tabs-inverted,用于将关闭按钮移至每个标签页的开头。
安装 Ghostty 1.4.0
Ubuntu 26.10 在仓库中包含了 Ghostty,只需执行 apt install ghostty 即可安装。但这不会为您提供最新版本。对于上述提到的更改,您需要使用替代方法。
有多种选择可用。
您可以使用非官方社区维护的 Ghostty DEB(它拥有自己的 Ghostty PPA 以便轻松更新)在 Ubuntu 上安装 Ghostty。还有 Ghostty AppImage 和非官方的 Snap 包。
在 macOS 上,Ghostty 提供官方二进制文件(推荐;支持应用内更新),也可通过 Homebrew 和其他 CLI 包管理器获取。
Ghostty 放弃对 Ubuntu 24.04 LTS 的支持
由于 Ghostty 1.4.0 需要 GTK 4.18 和 libadwaita 1.7,根据终端的 GTK/Adwaita 版本策略,Ubuntu 24.04 LTS 不再满足要求。这意味着无法再安装 Ghostty 的 DEB 版本(例如来自上述 PPA 的版本)。
顺便一提,底层的 libghostty 终端模拟库将在未来版本的 JetBrains IDE 中为终端提供支持。Linux Mint 的新终端应用程序 Velocitty 并未使用该库,但其设计据说受到了 Ghostty 的启发。