Geri Dön

Libghostty 1.0, taşınabilir terminal emülasyon kütüphanesinin C ABI'sini kararlı hale getiriyor
SiTech AI Team3 dk okuma

Libghostty 1.0, taşınabilir terminal emülasyon kütüphanesinin C ABI'sini kararlı hale getiriyor

Mitchell Hashimoto, 6 Kasım 2026'da Ghostty'nin çekirdeğinden çıkarılan taşınabilir, yüksek performanslı C terminal emülasyon kütüphanesi libghostty 1.0'ı duyurdu; kütüphane ve C ABI artık kararlı.

Mitchell Hashimoto, 6 Kasım 2026'da Ghostty'nin çekirdeğinden çıkarılan taşınabilir, yüksek performanslı C terminal emülasyon kütüphanesi libghostty 1.0'ı duyurdu. Sürüm hem kütüphaneyi hem de C ABI'sini kararlı hale getiriyor. Bir yıldan biraz fazla önce Zig modülü yeni birleştirilmişti, C API'si yoktu ve Ghostty dışında hiçbir tüketici yoktu.

Benimsenme ve ekosistem

JetBrains IDE terminalleri artık libghostty üzerinde çalışıyor ve bir JetBrains raporuna göre 12,5 milyondan fazla aktif kullanıcıya ulaşıyor. Neovim, libvterm'i libghostty-vt ile değiştirmek için onaylanmış bir pull request'e sahip; bu istek, yeniden boyutlandırmada scrollback'i yeniden akışa sokma konusundaki 10 yıllık bir sorunu kapatacak. Bakımcılar birleştirmeden önce etiketli bir sürümü bekliyor. KDE geliştiricileri onun üzerine inşa edilmiş bir Konsole alternatifi üzerinde deney yapıyor, Vercel'in Turborepo'su görev çıktısını TUI'sinde render etmek için onu kullanıyor, devenv onu shell'leri çalıştırmak için kullanıyor ve Antithesis onu TUI programlarını fuzz etmek için kullandı ve btop ile diğerlerinde gerçek hatalar buldu. Ghostel onu Emacs'a getiriyor, ghostty-web Xterm.js ile uyumlu bir API'ye sahip WASM derlemesi sunuyor ve OrbStack onu gömülü olarak kullanıyor. herdr ve cmux gibi yeni terminaller ve ajan tabanlı kodlama araçları onun üzerine inşa edildi ve topluluk bağlamaları Rust, Go, JavaScript, Swift, Python, .NET, Elixir, Dart, Java ve daha fazlasını kapsıyor. awesome-libghostty listesi yüzün üzerinde projeyi takip ediyor. Proje, bugün libghostty ile çalışan bir terminal kullananların, Ghostty uygulamasını kullananlardan çok büyük bir çarpanla daha fazla olduğunu söylüyor.

ABI kararlılığı ve paketleme

libghostty-vt, sıkı ABI uyumluluk vaatleriyle semantik sürümlendirmeyi izliyor ve gerçek, zorunlu bir ABI kararlılık politikasına sahip. Nesneler opak tanıtıcılardır, değerler enum anahtarlı getter ve setter'lardan geçer, opak olmayan struct'lar boyutlarını veya ayrılmış dolguyu taşır ve enum'lar C standardının izin verdiği ölçüde her derleyicide int'e sabitlenir. Daha yeni başlıklar daha eski bir kütüphaneye bağlandığında çökmek yerine GHOSTTY_UNSUPPORTED döndürür. CI, Linux'ta libabigail ve macOS ile WebAssembly'de golden type manifest'leri ile politikayı zorunlu kılıyor ve ELF dışa aktarılan semboller sürümlenir. 1.0 sürümü ayrıca derleme araçları, imzalı kaynak ve bağımlılık tarball'ları, belgeler ve paketleme desteği ekliyor; bu destek düzgün SONAME, başlıklar, pkg-config dosyaları ve bir CMake paket yapılandırması içeriyor. Kütüphane MIT lisanslıdır, çalışma zamanında libc dışında hiçbir şeye ihtiyaç duymaz ve freestanding olarak derlenebilir. Bağımlılıkları izinli lisanslıdır ve simdutf, Google Highway, kompakt bir Unicode tablosu ve Wuffs içerir; bağımlılık ağacında copyleft kod yoktur.

Taşınabilirlik ve kaynak kullanımı

Test edilen platformlar arasında glibc veya musl ile x86_64 ve aarch64 üzerinde Linux, x86_64 ve aarch64 üzerinde macOS 13 ve sonrası, aarch64 üzerinde iOS 13 ve sonrası, x86_64 ve aarch64 üzerinde FreeBSD, x86_64 üzerinde Windows, aarch64, x86_64 ve arm üzerinde Android ve freestanding wasm32 WebAssembly bulunur. Yalnızca derleme hedefleri arasında bare metal riscv32 ve thumb, WebAssembly WASI wasm32, Windows arm64, illumos x86_64 ve 32 bit x86 bulunur. Kütüphane iş parçacığı oluşturmaz, yalnızca özelleştirilebilir bir ayırıcı üzerinden bellek ayırır ve minimal hesaplama ile bellek kullanır; yazar, 4 çekirdekli ve 8 GB RAM'li bir Linux sunucusunda canlı shell'lerle 10.000 aktif terminal çalıştırdığını bildiriyor; dash kullanmasının nedeni bash'in daha fazla RAM kullanması.

Sırada ne var

Proje, bir terminalin artık 2025'te var olan hemen her terminalden ve 2026'da bugün çoğu terminalden daha fazla özellik ve daha iyi performansla yaklaşık 1.500 satır C ile oluşturulabileceğini söylüyor. Zengin dil bağlama ekosistemi sayesinde bunu tüm büyük programlama dillerinde yapabilirsiniz. Belgeler, örnekler ve indirmeler lib.ghostty.org adresindedir.

Kaynaklar: Mitchell Hashimoto

SiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.