Hacker News

Ghostty – Տերմինալի էմուլյատոր

Մեկնաբանություններ

1 min read Via ghostty.org

Mewayz Team

Editorial Team

Hacker News
Ահա հոդվածը.

Ghostty-ն վերաշարադրում է տերմինալների էմուլյատորների կանոնները, և մշակողները ուշադրություն են դարձնում

Տարիներ շարունակ տերմինալի էմուլյատորի լանդշաֆտը ժամանակի ընթացքում սառեցված էր: Մշակողները շրջում էին նույն մի քանի տարբերակների միջև՝ iTerm2-ը macOS-ում, GNOME Terminal-ը Linux-ում կամ ավելի տարածված միջպլատֆորմային ընտրանքների միջև, ինչպիսիք են Alacritty-ն և Kitty-ն: Հետո Միտչել Հաշիմոտոն՝ HashiCorp-ի համահիմնադիրը և Terraform-ի և Vagrant-ի ետևում գտնվող միտքը, հանգիստ ինչ-որ բան զրոյից կառուցեց: Ghostty-ն՝ GPU-ով արագացված, պլատֆորմի վրա հիմնված տերմինալի էմուլյատորը, որը գրված է Zig-ով, բաց կոդով դարձավ 2024-ի վերջին և անմիջապես առաջ բերեց ամենակրքոտ խոսակցություններից մեկը մշակողների գործիքների տարածքում: Հանրային թողարկումից հետո մի քանի շաբաթների ընթացքում Ghostty-ի GitHub պահոցը հավաքեց ավելի քան 25,000 աստղ, և մշակողների ֆորումները լուսավորվեցին համեմատություններով, չափանիշերով և խանդավառ առաջին տպավորություններով: Անկախ նրանից, թե դուք օրական ութ ժամ եք անցկացնում տերմինալում, թե պարզապես SSH-ը սերվերի մեջ շաբաթը մեկ անգամ, Ghostty-ն փիլիսոփայական փոփոխություն է ներկայացնում այն բանում, թե ինչպես ենք մենք մտածում այն գործիքների մասին, որոնք տեղակայված են մեր և հրամանի տողի միջև:

Ինչու՞ մեկ այլ տերմինալի էմուլյատոր: The Problem Ghostty Solves

Ազնիվ պատասխանն այն է, որ տերմինալների էմուլյատորներից շատերը փոխզիջումների են գնում: Ոմանք առաջնահերթություն են տալիս արագությանը, բայց զոհաբերում են հայրենի պլատֆորմի ինտեգրումը` ամեն ինչ ներկայացնելով իրենց անհատական ​​UI գործիքակազմի ներսում: Մյուսները մեծապես հենվում են գործառույթների վրա՝ ներդիրներ, բաժանումներ, կարգավիճակի գծեր, բայց ներմուծում են նկատելի ուշացում կամ անկանոն ոլորում՝ մեծ արդյունքներ ցուցադրելիս: Մի քանի փորձ երկուսն էլ, բայց վերջանում են որպես ռեսուրսների խոզեր, որոնք սպառում են հարյուրավոր մեգաբայթ օպերատիվ հիշողություն՝ տեքստի ցուցադրման ծրագրի համար:

Ghostty-ի թեզն այն է, որ դուք չպետք է ընտրեք: Հաշիմոտոն ծախսել է ավելի քան երկու տարի՝ կառուցելով տերմինալ, որը միաժամանակ արագացված է GPU-ով հում արտապատկերման կատարման համար և իր միջերեսի շերտում բնիկ հարթակում: MacOS-ում դա նշանակում է իրական AppKit պատուհաններ, բնիկ ներդիրներ, պատշաճ համակարգի ինտեգրում ծանուցումներով և ցանկի տողով: Linux-ում դա նշանակում է GTK4 Adwaita ոճով, որը կարծես թե պատկանում է ձեր աշխատասեղանին: Սա խաչաձև պլատֆորմի շրջանակի հատված չէ, այն իսկապես առանձին UI ծածկագիր է յուրաքանչյուր հարթակի համար, որը նստած է ընդհանուր տերմինալային միջուկի վրա, որը գրված է որպես բազմակի օգտագործման C գրադարան, որը կոչվում է libghostty:

Արդյունքը տերմինալ է, որը սկսվում է 100 միլիվայրկյանից ցածր, կառավարում է տառատեսակների կապակցումները և զմայլիկների արտապատկերումն առանց քրտնելու, և հարգում է հարթակի բոլոր կոնվենցիան, որը դուք սպասում էիք: Դա այն գործիքն է, որը ձեզ ստիպում է հասկանալ, թե ձեր նախորդ տերմինալը որքան փոքր թղթի կտրվածք է պատճառել՝ առանց դուք նկատելու:

Ինչն է դարձնում Ghostty-ն տեխնիկապես տպավորիչ

Գլխարկի տակ, Ghostty-ի մատուցման խողովակաշարը օգտագործում է հատուկ GPU ստվերներ՝ տեքստի ռաստերիզացման համար: Ի տարբերություն ծրագրային ապահովման մշակված տերմինալների, որոնք հենվում են պրոցեսորի վրա յուրաքանչյուր հոլովակի համար, Ghostty-ն այս աշխատանքը բեռնաթափում է GPU-ի վրա, ինչը նշանակում է, որ 50000 տողանոց մատյան ֆայլի միջով պտտվելը կամ բարձր արագությամբ կառուցման ելքային հոսքը դիտելը կարծես թե հարթ է: Համայնքի հենանիշերը մշտապես ցույց են տալիս, որ Ghostty-ն համապատասխանում է կամ գերազանցում է Alacritty-ին, որը նախկինում տերմինալների մատուցման արագության ոսկե ստանդարտն էր, մինչդեռ զգալիորեն ավելի շատ հնարավորություններ է առաջարկում:

Zig-ի ընտրությունը որպես իրականացման լեզու դիտավորյալ է: Zig-ը տալիս է Ghostty C մակարդակի կատարում՝ ավելի լավ հիշողության անվտանգության երաշխիքներով, առանց թաքնված տեղաբաշխումների և անխափան C-ի փոխգործունակությամբ: Այս վերջին կետը կարևոր է, քանի որ libghostty-ը՝ հիմնական տերմինալային գրադարանը, նախատեսված է ներկառուցվող լինելու համար: Տեսականորեն, ցանկացած հավելված կարող է օգտագործել libghostty՝ տերմինալի հնարավորություններ ավելացնելու համար՝ IDE, խաղային շարժիչի վրիպազերծման վահանակ կամ բիզնես վահանակ, որը պահանջում է ներկառուցված հրամանի կատարում:

Հիմնական տեխնիկական հատկանիշները, որոնք մշակողները մշտապես ընդգծում են, ներառում են՝

  • Իսկական GPU-ով արագացված արտապատկերում հատուկ Metal (macOS) և OpenGL/Vulkan (Linux) հետին մասերով
  • Font ligature support, որն անխափան աշխատում է ծրագրավորման հայտնի տառատեսակների հետ, ինչպիսիք են Fira Code-ը, JetBrains Mono-ն և Cascadia Code-ը
  • Բնական բաժանումներ և ներդիրներ կառավարվում են հարթակի սեփական պատուհանների համակարգով, այլ ոչ թե հատուկ վիջեթի շերտով
  • Յունիկոդի և էմոջիների համապարփակ աջակցություն ներառյալ բարդ գրաֆեմային կլաստերները
  • Հարուստ կազմաձևման համակարգ, որը կառավարվում է պարզ տեքստային ֆայլի միջոցով՝ տաք վերաբեռնման աջակցությամբ. վերագործարկումների կարիք չկա
  • Գործարկման արագ ժամանակներ հետևողականորեն մինչև 100 վրկ, ինչը ակնթարթային է դարձնում նույնիսկ ավելի հին սարքավորումների վրա
  • Սեղմվող հղումներ և OSC ինտեգրում ժամանակակից կեղևի աշխատանքային հոսքերի համար, ներառյալ ներկառուցված պատկերների ցուցադրումը Kitty գրաֆիկական արձանագրության միջոցով

Համայնքի արձագանքը և ինչ է այն ազդանշանում

Ghostty-ի ընդունելության մեջ ուշագրավը միայն գովասանքը չէ, այլ գովասանքի տեսակն է: Մշակողների ֆորումները լցված են մարդկանց մեկնաբանություններով, ովքեր նկարագրում են անցում կատարել այն գործիքներից, որոնք նրանք օգտագործել են մեկ տասնամյակ: macOS-ի iTerm2-ի երկարամյա օգտատերերը հայտնում են, որ Ghostty-ն իրեն զգում է «ինչպես Apple-ը պետք է կառուցեր տերմինալը»: Linux-ի օգտատերերը, ովքեր ցատկել են Alacritty-ի (արագ, բայց նվազագույն) և Kitty-ի (հատկանիշներով հարուստ, բայց բևեռացնող) միջև, նկարագրում են Ghostty-ին որպես առաջին տարբերակ, որն իսկապես հավասարակշռում է սպեկտրի երկու ծայրերը:

Համայնքի քննարկումը նաև ընդգծում է ավելի խորը բան. ծրագրավորողները քաղցած են արհեստի նկատմամբ մոլուցքային ուշադրությամբ ստեղծված գործիքներին: Հաշիմոտոյի փորձառությունը HashiCorp-ում, որտեղ Terraform-ի նման գործիքները մասամբ իրենց ծրագրավորողների փորձի շնորհիվ դարձան արդյունաբերության ստանդարտներ, մեծ նշանակություն ունի: Երբ այդ ծագումն ունեցող մեկը երկու տարի է ծախսում տերմինալի էմուլյատորի մշակման վրա, համայնքը դրան լրջորեն է վերաբերվում:

Լավագույն մշակողների գործիքները ոչ միայն լավ են աշխատում հենանիշերի վրա, այլ նվազեցնում են ճանաչողական շփումը: Մուտքային ուշացման յուրաքանչյուր միլիվայրկյան, որը դուք վերացնում եք, յուրաքանչյուր բնիկ փոխազդեցություն, որը դուք հարգում եք, և յուրաքանչյուր խելամիտ լռելյայն միացություններ, որոնք դուք ուղարկում եք միացություններ՝ դարձնելով կտրուկ ավելի լավ ամենօրյա փորձ այն մարդկանց համար, ովքեր ապրում են ձեր գործիքի ներսում օրական ութ ժամ:

Շփումը նվազեցնելու այս փիլիսոփայությունը գերազանցում է տերմինալային էմուլյատորները: Ցանկացած գործիք, որի հետ մասնագետներն ամեն օր շփվում են՝ լինի դա տերմինալ, IDE կամ բիզնեսի կառավարման հարթակ, օգուտ է քաղում ավելորդ բարդությունը վերացնելու այս մոլուցքային կենտրոնացումից: Դա նույն սկզբունքն է, որը դրդում է Mewayz-ի պլատֆորմներին համախմբել 207 բիզնես մոդուլներ մեկ միասնական աշխատանքային տարածքի մեջ. երբ վերացնում եք անջատված գործիքների միջև փոխարկման շփումը, ամեն շաբաթ վերականգնում եք արդյունավետ ուշադրության ժամեր:

Ինչպես է Ghostty-ն տեղավորվում ժամանակակից մշակողների աշխատանքային հոսքի մեջ

Ժամանակակից ծրագրավորողների աշխատանքային հոսքը գնալով ավելի շատ է վերաբերում կոմպոզիցիայի՝ մասնագիտացված գործիքների միացմանը, որոնցից յուրաքանչյուրը բացառիկ լավ է անում մի բան: Ghostty-ն անցնում է այս էկոհամակարգի մեջ՝ որպես ներկայացման շերտ այն ամենի համար, ինչ տեղի է ունենում տերմինալում: Դուք կարող եք օգտագործել այն՝ երկարատև պրոցեսների համար tmux նստաշրջաններ գործարկելու, բեռնարկղային մշակման համար Docker հրամաններ կատարելու, Git գործառնությունները կառավարելու կամ CLI գործիքների միջոցով ամպային ենթակառուցվածքի հետ փոխազդելու համար:

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Այն մշակողների համար, ովքեր կառավարում են բիզնես գործառնությունները իրենց կոդի հետ մեկտեղ՝ անկախ աշխատողների, գործակալությունների և նորաստեղծ բնակչության զարմանալիորեն մեծ հատվածը, տերմինալը հաճախ նստած է բիզնես գործիքների կողքին: Դուք տեղադրում եք կոդը մի պատուհանում և ստուգում հաշիվ-ապրանքագրերը կամ հաճախորդների հաղորդակցությունը մեկ այլ պատուհանում: Այստեղ է, որ արդիական է դառնում բիզնեսի գործիքավորման «բոլորը մեկում» մոտեցումը: Փոխանակ CRM-ի, հաշիվ-ապրանքագրերի, նախագծերի կառավարման և վերլուծության առանձին հավելվածներ ձեռնամուխ լինելու փոխարեն, Mewayz-ի նման հարթակները թույլ են տալիս կառավարել բիզնեսը մեկ վահանակից՝ 207 ինտեգրված մոդուլներով, որպեսզի կարողանաք ավելի շատ ժամանակ անցկացնել տերմինալում, որտեղ իրականում կատարվում է ձեր տեխնիկական աշխատանքը:

Ghostty-ի կոնֆիգուրացիան որպես կոդ մոտեցումը նույնպես արձագանքում է մշակողի մտածելակերպին: Ձեր տերմինալի կարգավորումներն ապրում են պարզ տեքստային ֆայլում՝ ~/.config/ghostty/config հասցեով, ինչը նշանակում է, որ դուք կարող եք տարբերակով կառավարել այն ձեր dotfiles-ի հետ մեկտեղ, այն կիսել մեքենաների միջև և կրկնել դրա վրա այնպես, ինչպես կկրկնեք ցանկացած այլ կոնֆիգուրացիայի դեպքում: Ոչ սեփական նախապատվությունների վահանակներ, ոչ երկուական կարգավորումների ֆայլեր՝ պարզապես տեքստ:

Ghostty ընդդեմ մրցակցության. որտեղ է այն կանգնած 2026 թվականին

Արդար է հարցնել, թե ինչպես է Ghostty-ն համեմատվում հաստատված այլընտրանքների հետ: Alacritty-ն մնում է այն ծրագրավորողների համար, ովքեր ցանկանում են բացարձակ նվազագույնը` առանց ներդիրների, առանց բաժանումների, պարզապես OpenGL-ի արագ մատուցվող տերմինալի պատուհան: Դա հիանալի ընտրություն է, եթե դուք օգտագործում եք երեսպատման պատուհանների կառավարիչ, ինչպիսին է i3-ը կամ Sway-ը և ցանկանում եք, որ ձեր պատուհանի կառավարիչը կառավարի բոլոր մուլտիպլեքսները: Ghostty-ն համընկնում է իր արագության հետ՝ ավելացնելով այն հիմնական հատկանիշները, որոնք Alacritty-ն միտումնավոր բաց է թողնում:

Kitty-ը երկար ժամանակ եղել է հնարավորություններով հարուստ այլընտրանք՝ իր սեփական գրաֆիկական արձանագրությամբ, կատվի ձագերի միջոցով սկրիպտավորման լայն հնարավորություններով և հեռակառավարման գործառույթներով: Դա հզոր գործիք է, բայց դրա հատուկ մատուցման մոտեցումը նշանակում է, որ այն երբեք իրեն հարազատ չի զգում որևէ հարթակում: Ghostty-ի կողմից պլատֆորմի վրա հիմնված UI շերտերի օգտագործումը նրան շոշափելի առավելություն է տալիս համակարգի ինտեգրման հարցում: iTerm2՝ macOS-ի կայուն ուժը, մնում է աներևակայելի գործառույթներով ամբողջական, բայց ցույց է տալիս իր տարիքը կատարողականության և գործարկման ժամանակի համեմատ՝ համեմատած GPU-ով արագացված նորեկների հետ:

Warp-ն արմատապես այլ մոտեցում է ցուցաբերում՝ վերաիմաստավորելով տերմինալը AI ինտեգրման, բլոկների վրա հիմնված ելքի և թիմային համագործակցության առանձնահատկություններով: Այն ազդեցիկ է որոշակի աշխատանքային հոսքերի համար, բայց հեռանում է Unix-ի փիլիսոփայությունից, որը նախընտրում են շատ մշակողներ: Ghostty-ն, ընդհակառակը, ոչ ներողամտորեն տերմինալային էմուլյատոր է. նա անում է այդ մի բանը բացառիկ փայլով և թույլ է տալիս գրել դրա շուրջ մնացած ամեն ինչ:

Ինչ է նշանակում Ghostty-ն մշակողների գործիքների ապագայի համար

Ghostty-ի ի հայտ գալն ավելի լայն միտումի մի մասն է. փորձառու ծրագրավորողները կառուցում են այն գործիքները, որոնք նրանք ցանկանում են, որ գոյություն ունենային, առանց զիջումների, որոնք թելադրված են վենչուրային կապիտալի ժամանակացույցով կամ առանձնահատկությունների ստուգաթերթի մարքեթինգով: Հաշիմոտոն կառուցեց Ghostty-ն, քանի որ նա ցանկանում էր ավելի լավ տերմինալ իր ամենօրյա աշխատանքի համար: Այդ ներքին մոտիվացիան արտադրում է տարբեր տեսակի ծրագրակազմ, որտեղ յուրաքանչյուր որոշում զտվում է «արդյո՞ք սա իրականում իմ օրը ավելի լավն է դարձնում» հարցի միջոցով:

Այս նույն էներգիան տեսանելի է գործիքի էկոհամակարգում: Ինքը՝ Zig ծրագրավորման լեզուն, որն օգտագործում է Ghostty-ն, ստեղծվել է Էնդրյու Քելլիի կողմից, որպեսզի այն լինի համակարգերի լեզուն, որը նա ցանկանում էր օգտագործել: Zed-ը՝ Atom-ի ստեղծողների նոր կոդերի խմբագրիչը, կիրառում է GPU արագացման նմանատիպ սկզբունքներ տեքստի խմբագրման համար: Իսկ բիզնես գործիքների ոլորտում համախմբման միտումը, օրինակ՝ Mewayz-ի նման հարթակները, որոնք փոխարինում են 15+ առանձին SaaS բաժանորդագրությունները մեկ ինտեգրված հարթակով, արտացոլում է անհարկի բարդությունը և համատեքստի փոփոխումը վերացնելու նույն ցանկությունը:

Մշակավորողների և տեխնիկական հիմնադիրների համար, ովքեր իրենց օրերն անցկացնում են տերմինալների, խմբագիրների, բրաուզերների և բիզնես վահանակների միջև, Ghostty-ի դասը պարզ է. ամենօրյա շփումը նվազեցնելու բարդ ազդեցությունը հսկայական է: Ghostty-ն ապացուցում է, որ նույնիսկ այնպիսի հասուն կատեգորիայում, ինչպիսին են տերմինալների էմուլյատորները, միշտ տեղ կա իսկապես ավելի լավ բանի համար. ձեզ պարզապես անհրաժեշտ է այնքան համառ մեկը, որ այն զրոյից կառուցի:

Հեշտացրեք ձեր բիզնեսը Mewayz-ի հետ

Mewayz-ը մեկ հարթակի մեջ է բերում 207 բիզնես մոդուլներ՝ CRM, հաշիվ-ապրանքագրեր, նախագծերի կառավարում և այլն: Միացե՛ք 138000+ օգտատերերի, ովքեր պարզեցրել են իրենց աշխատանքային հոսքը:

Անվճար այսօր →