Վերադառնալ

Libghostty 1.0-ը կայունացնում է փոխադրելի տերմինալային էմուլյացիայի գրադարանի C ABI-ն
SiTech AI Team3 րոպե ընթերցում

Libghostty 1.0-ը կայունացնում է փոխադրելի տերմինալային էմուլյացիայի գրադարանի C ABI-ն

Միտչել Հաշիմոտոն 2026 թվականի նոյեմբերի 6-ին հայտարարեց libghostty 1.0-ը՝ Ghostty-ից առանձնացված տերմինալային էմուլյացիայի փոխադրելի C գրադարան՝ կայուն գրադարանով և C ABI-ով, լայն կիրառմամբ ու փաթեթավորման աջակցությամբ։

Միտչել Հաշիմոտոն 2026 թվականի նոյեմբերի 6-ին հայտարարեց libghostty 1.0-ը՝ Ghostty-ի միջուկից առանձնացված տերմինալային էմուլյացիայի փոխադրելի, արդյունավետ C գրադարան։ Թողարկումը կայունացնում է գրադարանը և նրա C ABI-ն։ Մեկ տարուց ավելի առաջ Zig մոդուլը նոր էր միաձուլվել, C API չկար, և Ghostty-ից բացի սպառող չկար։

Կիրառում և էկոհամակարգ

JetBrains IDE-ների տերմինալներն այժմ աշխատում են libghostty-ով՝ ըստ JetBrains-ի հասնելով 12,5 միլիոնից ավելի ակտիվ օգտատիրոջ։ Neovim-ն ունի հաստատված PR՝ libvterm-ը libghostty-vt-ով փոխարինելու համար, ինչը կփակի 10 տարվա խնդիրը resize-ի ժամանակ scrollback-ի reflow-ի մասին. սպասում են պիտակավորված թողարկմանը։ KDE-ն փորձարկում է Konsole-ի փոխարինիչ, Vercel-ի Turborepo-ն դրանով ներկայացնում է առաջադրանքների ելքը TUI-ում, devenv-ն վարում է shell-ներ, իսկ Antithesis-ը fuzz արեց TUI ծրագրեր և գտավ իրական սխալներ btop-ում և այլուր։ Ghostel-ը բերում է այն Emacs, ghostty-web-ը տալիս է WASM build՝ Xterm.js-համատեղելի API-ով, OrbStack-ը ներկառուցում է այն։ Դրա վրա կառուցվել են herdr-ը և cmux-ը, իսկ bindings-ները ընդգրկում են Rust, Go, JavaScript, Swift, Python, .NET, Elixir, Dart, Java և այլն։ awesome-libghostty ցանկը հետևում է 100-ից ավելի նախագծի։ Ծրագիրն ասում է, որ libghostty-ով աշխատող տերմինալ օգտագործողները շատ անգամ ավելի շատ են, քան Ghostty հավելվածինը։

ABI կայունություն և փաթեթավորում

libghostty-vt-ը հետևում է semantic versioning-ին՝ խիստ ABI համատեղելիության խոստումներով և պարտադրվող ABI կայունության քաղաքականությամբ։ Օբյեկտները անթափանց handle-ներ են, արժեքները՝ enum-ով getter/setter-ներ, ոչ անթափանց struct-երը կրում են չափ կամ padding, իսկ enum-երը ամրացված են int-ի բոլոր կոմպիլյատորներում՝ C ստանդարտի թույլատրած չափով։ Նոր header-ները հին գրադարանի հետ վերադարձնում են GHOSTTY_UNSUPPORTED՝ crash-ի փոխարեն։ CI-ն պարտադրում է քաղաքականությունը libabigail-ով Linux-ում և golden type manifest-ներով macOS-ում ու WebAssembly-ում, իսկ ELF սիմվոլները տարբերակված են։ 1.0-ը ավելացնում է build գործիքներ, ստորագրված source և dependency tarball-ներ, փաստաթղթեր և փաթեթավորում՝ SONAME, header-ներ, pkg-config և CMake config։ Գրադարանը MIT է, runtime-ում պահանջում է միայն libc և կարող է կառուցվել freestanding։ Կախվածությունները permissive են՝ simdutf, Google Highway, Unicode աղյուսակ և Wuffs. copyleft չկա։

Փոխադրելիություն և ռեսուրսներ

Փորձարկված հարթակներն են՝ Linux glibc/musl x86_64 և aarch64, macOS 13+ x86_64 և aarch64, iOS 13+ aarch64, FreeBSD x86_64 և aarch64, Windows x86_64, Android aarch64, x86_64 և arm, WebAssembly wasm32 freestanding։ Build-only թիրախներն են՝ bare metal riscv32 և thumb, WebAssembly WASI wasm32, Windows arm64, illumos x86_64 և 32-bit x86։ Գրադարանը thread չի ստեղծում, հատկացնում է միայն հարմարեցվող allocator-ով և օգտագործում նվազագույն հաշվարկ ու հիշողություն. հեղինակը 4 միջուկ և 8 GB RAM ունեցող Linux սերվերում աշխատեցրել է 10 000 ակտիվ տերմինալ՝ կենդանի shell-ներով, dash-ով, քանի որ bash-ը ավելի շատ RAM էր օգտագործում։

Հաջորդը

Ծրագիրն ասում է, որ այժմ տերմինալ կարելի է ստեղծել մոտ 1 500 տող C-ով՝ ավելի շատ հնարավորություններով և ավելի լավ արդյունավետությամբ, քան գրեթե ցանկացած տերմինալ 2025-ին և շատերը 2026-ին։ libghostty-vt-ը կկենտրոնանա կայունության վրա՝ իրականացնելով առկա տերմինալային արձանագրությունները՝ միացման/անջատման ընտրանքներով։ Փաստաթղթեր, օրինակներ և ներբեռնումներ՝ lib.ghostty.org։

Աղբյուրներ: Mitchell Hashimoto

SiTech

SiTech — AI-ով հզորացված վեբ մշակում

Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։