乐于分享
好东西不私藏

Ghostty–命令行终端使用的神器(一)

Ghostty–命令行终端使用的神器(一)

新手学习 AI应用 相关知识,更新技能与时代为舞,希望能一起入门不断进步 [碱基比特]

用终端多任务的时候乱码横生,切换卡顿,看到人家的终端布局合理切换丝滑,怎么不生羡慕?

1. 背景

不管是用Claude Code还是opencode,命令行CLI逐渐回归到主流,终端是CLI的工具,好用的终端让CLI效率加倍

Ghostty 是一款终端模拟器,其独特之处在于速度快、功能丰富且界面原生。虽然市面上有很多优秀的终端模拟器,但它们通常都需要你在速度、功能和原生用户界面之间做出选择。而 Ghostty 则能同时满足这三者。

Ghostty 还计划通过提供现代化的可选功能,突破终端模拟器的功能限制,使 CLI 工具开发人员能够构建功能更丰富、更具交互性的应用程序。

Mitchell Hashimoto在开发Terraform、Consul等工具时,发现现有终端工具性能瓶颈严重。2024年底,他用Zig语言从零开始编写Ghostty,2025年正式开源,2026年已成为开发者圈最火的终端工具。

1.1 愿景

作为一款软件,它也有自己的愿景和设计哲学理念,这一款产品成熟的必备特性。

Ghostty 的设计目标是使其外观、感觉和行为都与您期望的应用程序在桌面环境中的行为一致。

Ghostty 是一款适用于 macOS 和 Linux 的原生应用程序。在 macOS 上,其图形用户界面 (GUI) 使用 Swift 编写,并采用 AppKit 和 SwiftUI;在 Linux 上,其 GUI 使用 Zig 编写,并采用 GTK4 C API。GUI 与一个用 Zig 编写的共享核心进行交互,我们称之为“libghostty”。对于不熟悉 Zig 的人来说,它是一种系统编程语言,可以编译成本地机器代码。

1.2 特点

  1. Ghostty 致力于提供一系列丰富的日常实用功能。这些功能可分为两类:终端功能和应用程序功能。
  • 终端功能:Ghostty 支持 Kitty 图形协议、浅色/深色模式通知、超链接等功能。这使得 Neovim、Zellij 等终端应用程序能够实现比其他终端模拟器更多的功能。

  • 应用功能:这些是一些更高级的功能,可用于与终端模拟器本身进行交互。例如,Ghostty 支持原生标签页、分屏、macOS 上的下拉终端、系统深色/浅色模式下的主题切换等等。

  1. 快:Ghostty具象话了快:启动时间、滚动速度、IO吞吐量、控制序列吞吐量、帧速率等

  2. Ghostty 不仅仅是一个普通的软件应用程序,它的核心功能被封装成了一个独立的、通用的“库”(library),这使得它非常灵活且易于在其他程序中集成。Ghostty 的核心是一个名为 libghostty 的库,它是跨平台的,并且兼容 C 语言的应用二进制接口(C-ABI)

Ghostty 的桌面应用程序(macOS 版和 Linux 版)只是 libghostty 这个核心库的“使用者”(消费者)。 它们本身不包含终端的核心逻辑,而是通过调用 libghostty 提供的 C 语言接口来实现终端功能,同时各自使用最适合其操作系统的原生技术来构建用户界面。

2. 安装

macOS上是原配,Ghostty 项目官方仅发布 macOS 的预编译二进制文件。对于其他平台(例如 Linux),依靠发行版维护者和社区成员的共同努力,来构建、测试和分发 Ghostty

2.1 macOS

Ghostty 项目提供官方 macOS 二进制文件,这些文件可在以下网址获取官方地址

这些二进制文件由 Ghostty 项目签名并经过公证。要安装,请下载 .dmg 文件,打开它,然后将 Ghostty 应用程序拖到“应用程序”文件夹。这与安装许多常见的 macOS 应用程序的过程相同。

  1. Homebrew

Ghostty 社区提供了一个自制的 cask 文件,并对其进行了维护。它只是重新打包了官方的 .dmg 文件,应该能提供与官方二进制文件相同的安全级别

brew install --cask ghostty
  1. Nix包管理系统

在 Nix 生态系统中,macOS 和 Linux 上的 Ghostty 安装包名字不同,且来源不同:

  • macOS 用户应该使用 ghostty-bin(这是官方二进制文件的重新打包)
  • Linux 用户通常使用 ghostty(这是从源码构建的 GTK 版本)

Nix 是一个跨平台(支持 Linux、macOS,甚至 Windows)的纯函数式包管理器和构建系统

2.2 Linux

Ghostty 已在许多 Linux 发行版的默认软件仓库中提供。这些软件包均由发行版自行构建、测试和验证,与 Ghostty 项目无关。

# Alpine Linux
apk add ghostty

# Arch Linux
pacman -S ghostty

# Gentoo
emerge -av ghostty

# Solus
eopkg install ghostty

# Void Linux
xbps-install ghostty

Nix

在 Linux 上,Ghostty 可以通过两种主要方式使用 Nix 安装:要么使用 Nixpkgs 中的 ghostty 软件包(由 Nixpkgs 维护团队维护),要么使用 Ghostty 源代码库中提供的 Flake(由 Ghostty 项目直接维护)。Nixpkgs 上的软件包是大多数普通用户最简单的选择,而 Flake 允许更高级的用户安装开发分支的固定版本(“尖端版本”),以便访问更多前沿功能Linux (Community Binaries)

由于 Zig 版本依赖问题,Ghostty 很难进入 Debian/Ubuntu 的官方稳定源,基本上靠社区来维护

# Fedora
dnf copr enable scottames/ghostty
dnf install ghostty

#Ubuntu
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/mkasberg/ghostty-ubuntu/HEAD/install.sh)"

后面会详细介绍一下配置,现在是裸机,设置完之后才是利器!

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » Ghostty–命令行终端使用的神器(一)

猜你喜欢

  • 暂无文章