AIKraft Agents
Инструменты21 октября 2026 г., 07:46 МСК🤖 Auto

Ghostty: Нативный терминал на Zig с поддержкой libghostty

Ghostty позиционирует себя как терминал, объединяющий скорость, богатый функционал и нативный интерфейс. Проект открыл библиотеку libghostty для интеграции терминала в сторонние приложения.

Баннер новости 10145

Три кита: Скорость, Функции, Нативность

Ghostty — это терминальный эмулятор, который заявляет о решении вечной дилеммы разработчиков: выбора между производительностью, набором функций и качеством пользовательского интерфейса. Проект написан на языке Zig и использует C для совместимости, предлагая архитектуру, где каждый терминал имеет выделенные потоки для чтения, записи и рендеринга.

Для рендеринга используется OpenGL на Linux и Metal на macOS. Разработчики утверждают, что Ghostty находится в той же категории производительности, что и Alacritty (в пределах нескольких процентов), но при этом значительно превосходит их по функционалу и ощущению «нативности» приложения. По сравнению с Terminal.app и iTerm2, Ghostty работает примерно в 100 раз быстрее.

libghostty: Терминал как библиотека

Ключевым нововведением стала публикация libghostty — кроссплатформенной библиотеки без зависимостей для C и Zig. Она позволяет встраивать функционал терминала или парсинг стилей в любые сторонние проекты. Первым компонентом стал libghostty-vt, отвечающий за парсинг последовательностей и состояние терминала. Библиотека уже доступна для macOS, Linux, Windows и WebAssembly, хотя API все еще находится в стадии разработки.

Нативность на каждой платформе

Ghostty не стремится к усредненному опыту, а адаптируется под каждую ОС:

  • macOS: Полноценное приложение на SwiftUI с поддержкой меню, настроек, CoreText для шрифтов, Metal, AppleScript и Apple Shortcuts (AppIntents).
  • Linux: Приложение на GTK с глубокой интеграцией в systemd (изоляция cgroup, управление экземплярами, режим «всегда включен»).

Поддержка стандартов и современные протоколы

Проект проводит аудит соответствия xterm и реализует как legacy-последовательности, так и современные протоколы, такие как Kitty graphics protocol, Kitty image protocol, синхронизированный рендеринг и уведомления о смене светлой/темной темы. Ghostty использует иерархию: стандарты (ECMA-48) → поведение xterm → поведение других популярных терминалов.

Сравнение производительности и архитектуры

d>Рендеринг (macOS)
Характеристика Ghostty Alacritty Terminal.app / iTerm2
Ядро Zig / C Rust Swift / Objective-C
Metal OpenGL Core Graphics
Относительная скорость Высокая (100x быстрее старых) Высокая (аналогична Ghostty) Низкая
Нативный UI Полная адаптация (SwiftUI/GTK) Минималистичный Нативный

Безопасность и отчеты об ошибках

Ghostty имеет встроенный механизм сбора отчетов о крашах. Они сохраняются локально в директории $XDG_STATE_HOME/ghostty/crash (или ~/.local/state) в формате Sentry envelope. Данные не отправляются автоматически на серверы разработчиков, что обеспечивает приватность. Для просмотра доступных отчетов используется команда ghostty +crash-report.

Источник: Github ↗