Ghostty 1.0 即将到来

Mitchell Hashimoto 产品

摘要

Ghostty 1.0 是一款面向 macOS 和 Linux 的开源终端模拟器,将于 2024 年 12 月以 MIT 许可证公开发布,旨在成为现有终端的替代品,追求最快、功能最丰富且原生平台体验。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/05/16 03:40

# Ghostty 1.0 即将到来 来源:https://mitchellh.com/writing/ghostty-is-coming 经过近两年的开发和内测¹,我很兴奋地宣布 **Ghostty** 1.0 将于 2024 年 12 月以 MIT 许可证开源发布。 在这篇博文中,我想重申 Ghostty 项目的广泛目标,并概述 1.0 版本的具体目标。我对 Ghostty 有雄心勃勃的计划,但也想明确说明第一天能期待什么,以及未来会有什么。 简而言之,Ghostty 1.0 的目标是在 macOS 和 Linux 上成为 **当前终端模拟器的最佳替代品**。Ghostty 将快速、功能丰富、拥有原生图形界面,同时成为最符合标准的终端模拟器。 --- ## 最佳现有终端模拟器 这张来自我 2023 年 9 月 **Zig Showtime 演讲** 的幻灯片最好地总结了我为什么开始开发新的终端模拟器: > 第 7 张幻灯片 比较的终端模拟器数量有限主要受限于幻灯片设计,但更广泛的要点依然存在:我觉得现有的终端模拟器在速度、功能和平台原生 GUI 之间强加了不必要的选择。² 使用 Ghostty,我开始构建一个快速、功能丰富、具有平台原生 GUI 且跨平台的终端模拟器。我相信 Ghostty 1.0 实现了所有这些目标。 这个目标专注于成为 **最佳现有终端模拟器**。在这个目标内,Ghostty 1.0 并不试图在终端能做什么上进行创新,而是提供目前 macOS 和 Linux 上最好的单一终端模拟器体验³。 当然,Ghostty 并非完美或完整。我没有实现每个终端模拟器的所有功能,因此 Ghostty 仍然缺少大量功能。但我相信,随着我不断改进,Ghostty 将满足绝大多数用户的需求。 --- ## 快速、功能丰富、平台原生 我从人们 **使用 Ghostty 之前** 收到的最常见反馈是对这些差异持怀疑态度。而 **使用 Ghostty 之后** 最常见的反馈是,他们没有意识到差异有多大,而且无法想象回到过去。 Ghostty 快速、功能丰富和平台原生意味着什么?每个方面都是庞大而复杂的主题,所以我只对每个领域强调几个关键点。 关于“快速”,我最近在 Systems Distributed 2024 上做了一个 5 分钟的闪电演讲,题为 **“使终端模拟器真正、真正快速:Ghostty”** (视频时间戳链接至 50:15)。这很好地概述了 Ghostty 的性能思考,但并非详尽无遗,因为这只是个闪电演讲。 关于“功能丰富”,Ghostty 首先旨在支持尽可能广泛的终端应用程序。这意味着 Ghostty 支持比其他任何终端模拟器(除了 xterm 本身)更多的 xterm 转义序列。Ghostty 还支持几乎所有现代终端规范,如样式下划线、Kitty 键盘协议、图形协议等。(不是终端转义序列,但没错,Ghostty 支持连字!) 关于“平台原生”,Ghostty 在 macOS 上使用原生 GUI 工具包,在 Linux 上使用 GTK(如果可用则加上 libadwaita)。这意味着 Ghostty 在两个平台上看起来、感觉(并且实际上是)原生应用程序。这与许多仅使用原生 GUI 工具包创建窗口的终端模拟器形成对比。 举一个平台原生优势的例子:Ghostty 拥有原生标签页、分屏、右键菜单、菜单栏、Dock 集成、输入法支持(表情键盘、听写等)、确认窗口、桌面通知、macOS 安全输入模式等。 以下是一些 Ghostty 在 macOS 和 Linux 上的截图(两者都经过主题化,但可能只需几行配置),展示了平台原生 GUI: (两张图片均来自 Ghostty Discord 服务器公共展示频道中的社区成员) --- ## 首个版本将是 1.0 Ghostty 已经进行了近两年的内测。在撰写本文时,Ghostty 在 macOS 和 Linux 上有大约 2,000 名测试者,其中大多数人都能毫无问题地将 Ghostty 作为日常主要终端模拟器使用。 由于广泛的内测,Ghostty 的第一个公开版本将是 1.0。这里不会有任何 ZeroVer **⁴**。 我进行广泛内测的动机主要是自私的:我有了第一个孩子,我想把时间优先花在家人身上,而不是应对外部要求去构建功能或修复 bug。理论上,我可以忽略噪音,但实践中我足够了解自己,知道自己会分心,而且精神上会很疲惫。 除了家庭动机,我怀念过去软件在准备好时才发布的年代。我喜欢想象,如果像 CompUSA 这样的商店还存在,Ghostty 1.0 会被包装好、封装好,放在货架上待售(但同时也是免费开源的)。 内测的其他效果是意外或非预期的。例如,我从未想过让 Ghostty 显得排外(老实说,我没想到会有这么多人对终端模拟器感兴趣!),也从未打算让内测人为地制造 Ghostty 的热度。如果你对此感到负面,我道歉。 我很惊讶这种方法受到了如此多的批评,以及许多有 entitlement 感的人似乎认为他们理应得到什么,仅仅因为我喜欢分享我的工作和进展。同时,我非常感谢那些支持并理解我这个方式的更大群体。 最后,感谢那些一直在使用 Ghostty 并提供出色反馈的测试者。Ghostty 的稳定性之所以成为可能,是因为多样化的测试者群体敢于使用早期版本——而它通常是开发者工具包中关键的一环。 --- ## 宏伟愿景 展望未来,Ghostty 在两个主要领域有雄心勃勃的计划:**libghostty** 和 **终端应用功能**。 `libghostty` 是驱动 Ghostty 的核心跨平台库。它作为 Zig 和 C API 提供,目前可在 macOS 和 Linux 上运行。目标是允许大量多样化的终端模拟器应用程序生态系统出现,包括专用应用、嵌入在编辑器等中的终端、基于 Web 的终端、新的终端复用器等。 使用 libghostty 的想法是,开发者可以专注于构建优秀应用程序的艰巨工作,而免费获得快速、功能丰富、符合标准的终端模拟。在很多方面,我如今将 Ghostty 描述为 libghostty 消费者的“参考实现”。 对于 Ghostty 1.0,libghostty 不被视为稳定版或作为独立的公共 API 可用。但 Ghostty 内部确实使用了 libghostty。1.0 之后的目标是让 libghostty 作为独立库发布,并将平台支持扩展到 macOS 和 Linux 之外,特别是 WebAssembly。 除了 libghostty,我还对在终端内部构建更多功能感兴趣,以便应用程序能够利用这些功能。一些想法包括:提高转义序列的安全性,允许更现代的输入方法(如触摸手势、动量滚动、绘图设备等),允许应用程序提供原生上下文菜单等。 扩展终端应用功能的目标是使基于文本的应用程序对开发者构建和用户使用更具吸引力。我相信基于文本的应用程序在软件生态系统中具有宝贵的 niche,我想帮助现代化这个平台。 这些都是重大的长期目标,旨在展示我对 Ghostty 有更大的愿景,并且我正在为之努力。短期内,我计划根据用户的反馈和我自己的想法,按照最初的目标——快速、功能丰富、平台原生——迭代改进 Ghostty。有一些主要功能我遗憾不能在 1.0 版本中实现,但将在后续版本中带来。 --- ## 财务与可持续性 我不想让这成为本文的重点,但鉴于我作为企业家的背景以及人们对此话题的普遍兴趣,我将简要提及 Ghostty 的财务和可持续性方面,以避免混淆或猜测。 Ghostty 对我来说是一个热情项目,我没有计划对项目进行任何商业化。如第一段所述,Ghostty 将以 MIT 许可证开源。 个人层面,幸运的是,由于过去的成功,我有财务自由来从事像 Ghostty 这样的项目,而没有任何经济压力。我曾多次公开表示,我将 Ghostty 的工作视为一种“技术慈善”:一种回报社会的方式,同时满足自己的需求并享受乐趣。 与此同时,我希望 Ghostty 能在没有我的情况下长期生存,并且我也希望能为重大贡献者提供可能的补偿。为此,我和(目前私密的)社区正在探索非营利结构,以帮助确保 Ghostty 的长期可持续性。但这是一个长期目标,不会在 1.0 版本中实现。 --- ## 十二月见 我很期待 Ghostty 1.0 于 2024 年 12 月公开发布。 Ghostty 是我两年多来一个巨大的热情项目,从我在全职工作之余偶尔参与的副项目,到我离职并迎来第一个孩子后成为我的主要(但非常业余)关注点。 Ghostty 1.0 不会完美,但它的稳定性和功能集让我感到自豪,我认为它已经准备好与世界分享。最重要的是,我希望人们能感受到我在 Ghostty 中投入了多少爱和关怀,并希望它能给用户的日常工作带来快乐(就像终端模拟器所能做到的那样)。 👻 1. 撰写本文时,macOS 和 Linux 上的测试者约有 2,000 名。↩ 2. 要了解更多关于“⚠️”的含义,请参阅原始演讲文章。↩ 3. Windows 支持计划在 1.0 发布之后进行。↩ 4. 讽刺的是,我启动的软件是 ZeroVer 的第一个例子。但这次不是。↩

相似文章

Ghostty: 反思1.0版本的发布

Mitchell Hashimoto

Mitchell Hashimoto 反思了他用 Zig 构建的终端模拟器 Ghostty 达到1.0版本的过程,讨论了项目的起源、成功但富有争议的内测版,以及他对这款终端的愿景。

Libghostty 即将到来

Mitchell Hashimoto

Mitchell Hashimoto 宣布了 libghostty 的计划,这是一个可嵌入的终端模拟库,首先推出 libghostty-vt,这是一个从 Ghostty 中提取的零依赖终端序列解析器。

Ghostty 即将离开 GitHub

Mitchell Hashimoto

Mitchell Hashimoto 宣布,由于持续的中断和挫败感,Ghostty 终端模拟器项目将离开 GitHub,此前他已有18年日常使用经历。

Ghostty 现已成为非营利组织

Mitchell Hashimoto

Ghostty,一个终端模拟器,已成为由 Hack Club 财政赞助的非营利组织,确保其开源未来,并允许税收减免捐赠。

欢迎Ghostty子系统维护者

Mitchell Hashimoto

Mitchell Hashimoto宣布为开源终端模拟器Ghostty新增八位子系统维护者,并阐述了子系统治理模型及项目扩展目标。