Ghostty - эмулятар тэрмінала | Mewayz Blog Skip to main content
Hacker News

Ghostty - эмулятар тэрмінала

Каментарыі

1 min read Via ghostty.org

Mewayz Team

Editorial Team

Hacker News
Вось артыкул:

Ghostty перапісвае правілы эмулятараў тэрміналаў — і распрацоўшчыкі звяртаюць на гэта ўвагу

На працягу многіх гадоў ландшафт эмулятара тэрмінала адчуваў сябе застылым у часе. Распрацоўшчыкі пераключаліся паміж адной і той жа жменькай варыянтаў — iTerm2 на macOS, тэрмінал GNOME на Linux або ўсё больш папулярныя кросплатформенныя варыянты, такія як Alacritty і Kitty. Потым Мітчэл Хашымота, сузаснавальнік HashiCorp і аўтар Terraform і Vagrant, спакойна пабудаваў нешта з нуля. Ghostty, уласны эмулятар тэрмінала з графічным працэсарам, напісаны на Zig, выйшаў з адкрытым зыходным кодам у канцы 2024 года і адразу ж выклікаў адну з самых гарачых размоў у галіне інструментаў для распрацоўшчыкаў. На працягу некалькіх тыдняў пасля публічнага выпуску рэпазітар Ghostty на GitHub набраў больш за 25 000 зорак, а форумы распрацоўшчыкаў асвятляліся параўнаннямі, тэстамі і першымі энтузіязмамі. Незалежна ад таго, праводзіце вы восем гадзін у дзень на тэрмінале ці проста падключаецеся да сервера па SSH раз на тыдзень, Ghostty уяўляе сабой філасофскі зрух у тым, як мы думаем пра інструменты, якія стаяць паміж намі і камандным радком.

Чаму яшчэ адзін эмулятар тэрмінала? Праблему вырашае Ghostty

Шчыры адказ: большасць эмулятараў тэрміналаў ідуць на кампрамісы. Некаторыя аддаюць перавагу хуткасці, але ахвяруюць інтэграцыяй уласнай платформы, адлюстроўваючы ўсё ў сваім уласным наборы інструментаў карыстацкага інтэрфейсу. Іншыя ў значнай ступені абапіраюцца на асаблівасці - укладкі, падзелы, радкі стану - але ўводзяць прыкметную затрымку ўводу або рэзкую пракрутку пры рэндэрынгу вялікіх вынікаў. Некаторыя спрабуюць абодва, але ў канчатковым выніку становяцца свіннямі рэсурсаў, якія спажываюць сотні мегабайт аператыўнай памяці для таго, што, па сутнасці, з'яўляецца праграмай адлюстравання тэксту.

Тэзіс Ghostty заключаецца ў тым, што вам не трэба выбіраць. Hashimoto выдаткаваў больш за два гады на стварэнне тэрмінала, які адначасова паскараецца графічным працэсарам для неапрацаванай прадукцыйнасці рэндэрынгу і на ўзроўні платформы карыстальніцкага інтэрфейсу. У macOS гэта азначае сапраўдныя вокны AppKit, уласныя ўкладкі, належную сістэмную інтэграцыю з апавяшчэннямі і панэллю меню. У Linux гэта азначае GTK4 са стылем Adwaita, які выглядае і адчуваецца так, быццам ён належыць вашаму працоўным сталу. Гэта не накладка на кросплатформенную структуру — гэта сапраўды асобны код карыстацкага інтэрфейсу для кожнай платформы, размешчаны на агульным тэрмінальным ядры, напісаным у выглядзе шматразовай бібліятэкі C пад назвай libghostty.

У выніку атрымліваецца тэрмінал, які запускаецца менш чым за 100 мілісекунд, апрацоўвае лігатуры шрыфтоў і рэндэрынг эмодзі, не пацеючы, і выконвае ўсе канвенцыі платформы, якіх вы чакаеце. Гэта той інструмент, які дазваляе зразумець, колькі невялікіх парэзаў паперы нанёс ваш папярэдні тэрмінал, не заўважыўшы гэтага.

Што робіць Ghostty тэхнічна ўражлівым

Пад капотам канвеер рэндэрынгу Ghostty выкарыстоўвае карыстальніцкія шэйдары GPU для растрызацыі тэксту. У адрозненне ад праграмна візуалізаваных тэрміналаў, якія абапіраюцца на працэсар для кожнага гліфа, Ghostty перакладае гэтую працу на графічны працэсар, што азначае, што прагортка файла журнала з 50 000 радкоў або прагляд выхаднога патоку высакахуткаснай зборкі адчуваецца гладка. Тэсты супольнасці нязменна паказваюць, што Ghostty адпавядае або пераўзыходзіць Alacritty — раней залаты стандарт хуткасці рэндэрынгу на тэрміналах — у той жа час прапаноўваючы значна больш функцый.

Выбар Zig у якасці мовы рэалізацыі наўмысны. Zig забяспечвае прадукцыйнасць Ghostty на ўзроўні C з лепшымі гарантыямі бяспекі памяці, адсутнасцю схаваных размеркаванняў і бесперабойнай сумяшчальнасцю з C. Апошні пункт мае значэнне, таму што libghostty, асноўная бібліятэка тэрміналаў, распрацавана з магчымасцю ўбудавання. Тэарэтычна любое прыкладанне можа выкарыстоўваць libghostty для дадання магчымасцей тэрмінала — IDE, кансолі адладкі гульнявога рухавіка або бізнес-панэлі, якая патрабуе ўбудаванага выканання каманд.

Асноўныя тэхнічныя асаблівасці, якія распрацоўшчыкі пастаянна вылучаюць:

  • Сапраўдны рэндэрынг з паскораным графічным працэсарам з карыстацкімі бэкэндамі Metal (macOS) і OpenGL/Vulkan (Linux)
  • Падтрымка лігатуры шрыфтоў, якая бесперашкодна працуе з папулярнымі шрыфтамі праграмавання, такімі як Fira Code, JetBrains Mono і Cascadia Code
  • Уласныя падзелы і ўкладкі кіруюцца ўласнай сістэмай вокнаў платформы, а не карыстальніцкім узроўнем віджэтаў
  • Шырокая падтрымка Unicode і эмодзі, уключаючы складаныя кластары графем
  • Багатая сістэма канфігурацыі, якая кіруецца праз просты тэкставы файл з падтрымкай гарачай перазагрузкі — перазагрузкі не патрэбны
  • Хуткі час запуску нязменна менш за 100 мс, што робіць яго імгненным нават на старым абсталяванні
  • Націскальныя спасылкі і інтэграцыя OSC для сучасных працоўных працэсаў абалонкі, уключаючы ўбудаваны рэндэрынг малюнкаў праз графічны пратакол Kitty

Рэакцыя супольнасці і пра што яна сведчыць

Што ўражвае ў прыёме Ghostty, гэта не толькі пахвала — гэта тып пахвалы. Форумы распрацоўшчыкаў напоўнены каментарамі людзей, якія апісваюць пераход з інструментаў, якімі яны карысталіся на працягу дзесяці гадоў. Даўнія карыстальнікі iTerm2 на macOS паведамляюць, што Ghostty адчувае сябе «як тэрмінал, які Apple павінна была стварыць». Карыстальнікі Linux, якія скакалі паміж Alacritty (хуткі, але мінімальны) і Kitty (багаты на функцыі, але палярны), апісваюць Ghostty як першы варыянт, які сапраўды ўраўнаважвае абодва бакі спектру.

Дыскусія ў супольнасці таксама падкрэслівае нешта больш глыбокае: распрацоўшчыкі прагнуць інструментаў, створаных з апантанай увагай да майстэрства. Паслужны спіс Hashimoto ў 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 адпавядае сваёй хуткасці, дадаючы ўласныя функцыі, якія Алакрыці наўмысна апускае.

Kitty доўгі час была шматфункцыянальнай альтэрнатывай з уласным графічным пратаколам, шырокімі магчымасцямі сцэнарыяў праз kittens і функцыямі дыстанцыйнага кіравання. Гэта магутны інструмент, але яго індывідуальны падыход да візуалізацыі азначае, што ён ніколі не адчувае сябе родным на любой платформе. Выкарыстанне Ghostty уласных слаёў карыстальніцкага інтэрфейсу платформы дае яму адчувальную перавагу ў сістэмнай інтэграцыі. iTerm2, стойкі macOS, застаецца неверагодна поўным функцыямі, але паказвае свой узрост у прадукцыйнасці рэндэрынгу і часу запуску ў параўнанні з пачаткоўцамі з графічным паскарэннем.

Warp выкарыстоўвае радыкальна іншы падыход, пераасэнсоўваючы тэрмінал з інтэграцыяй штучнага інтэлекту, блокавым вывадам і функцыямі каманднага супрацоўніцтва. Гэта пераканаўча для пэўных працоўных працэсаў, але адыходзіць ад філасофіі Unix, якую аддаюць перавагу многія распрацоўшчыкі. Ghostty, насупраць, беспамылкова з'яўляецца эмулятарам тэрмінала — ён выконвае адну рэч з выключнай дасканаласцю і дазваляе вам складаць усё астатняе вакол яе.

Што азначае Ghostty для будучыні інструментаў распрацоўшчыка

З'яўленне Ghostty з'яўляецца часткай больш шырокай тэндэнцыі: вопытныя распрацоўшчыкі ствараюць інструменты, якія яны жадаюць існаваць, без кампрамісаў, прадыктаваных тэрмінамі венчурнага капіталу або маркетынгам кантрольнага спісу функцый. Hashimoto пабудаваў Ghostty, таму што хацеў лепшы тэрмінал для сваёй штодзённай працы. Гэтая ўнутраная матывацыя стварае іншы тып праграмнага забеспячэння — такое, у якім кожнае рашэнне фільтруецца праз пытанне "ці сапраўды гэта робіць мой дзень лепшым?"

Гэтая ж энергія бачная ва ўсёй экасістэме інструментаў. Сама мова праграмавання Zig, якую выкарыстоўвае Ghostty, была створана Эндру Келі як сістэмная мова, якую ён хацеў выкарыстоўваць. Zed, новы рэдактар ​​кода ад стваральнікаў Atom, прымяняе падобныя прынцыпы GPU-паскарэння для рэдагавання тэксту. А ў сферы бізнес-інструментаў тэндэнцыя кансалідацыі — прыкладам такіх платформаў, як Mewayz, якія замяняюць 15+ асобных падпісак SaaS на адзіную інтэграваную платформу — адлюстроўвае тое ж жаданне ліквідаваць непатрэбную складанасць і пераключэнне кантэксту.

Для распрацоўшчыкаў і тэхнічных заснавальнікаў, якія праводзяць свае дні, бегаючы паміж тэрміналамі, рэдактарамі, браўзерамі і бізнес-панэлямі, урок ад Ghostty ясны: інструменты, якімі вы карыстаецеся штодня, заслугоўваюць таго, каб быць хуткімі, натыўнымі і прадумана распрацаванымі. Незалежна ад таго, ці азначае гэта пераключэнне эмулятара тэрмінала, кансалідацыю вашага бізнес-стэка ў адзіную платформу або проста выдаткаваць час на належную канфігурацыю існуючых інструментаў, комплексны эфект зніжэнне штодзённага трэння велізарна. Ghostty даказвае, што нават у такой спелай катэгорыі, як эмулятары тэрміналаў, заўсёды ёсць месца для чагосьці сапраўды лепшага — вам проста патрэбны хтосьці дастаткова ўпарты, каб стварыць гэта з нуля.

Спрасціце свой бізнес з Mewayz

Mewayz аб'ядноўвае 207 бізнес-модуляў на адной платформе — CRM, выстаўленне рахункаў, кіраванне праектамі і інш. Далучайцеся да 138 000+ карыстальнікаў, якія спрасцілі свой працоўны працэс.

Пачніце бясплатна сёння →

Часта задаюць пытанні

Чым Ghostty адрозніваецца ад іншых эмулятараў тэрміналаў, такіх як Alacritty або Kitty?

Ghostty створаны з нуля ў Zig з уласнай візуалізацыяй платформы, прапаноўваючы паскарэнне GPU і мінімальнае выкарыстанне рэсурсаў. У адрозненне ад эмулятараў, створаных з існуючых набораў інструментаў, Ghostty імкнецца да максімальнай прадукцыйнасці за кошт непасрэднага выкарыстання нізкаўзроўневых сістэмных API. Такі падыход прыводзіць да больш плаўнага рэндэрынгу і меншай затрымкі, што асабліва прыкметна падчас інтэнсіўных сеансаў распрацоўкі з дапамогай інструментаў такіх пастаўшчыкоў, як Mewayz.

Ці даступны Ghostty для Windows, macOS і Linux?

Так, Ghostty распрацаваны як кросплатформавы эмулятар тэрмінала. Яго ўласны падыход да платформы азначае, што ён выкарыстоўвае адпаведныя графічныя API для кожнай аперацыйнай сістэмы (напрыклад, DirectX у Windows, Metal у macOS), забяспечваючы аптымальную прадукцыйнасць незалежна ад вашага асяроддзя. Гэта робіць яго ўніверсальным выбарам для распрацоўшчыкаў, якія працуюць у розных сістэмах, у тым ліку для тых, хто кіруе некалькімі модулямі Mewayz.

Хто стварыў Ghostty і чаму я павінен давяраць гэтаму новаму праекту?

Ghostty быў створаны Мітчэлам Хашымота, паважаным сузаснавальнікам HashiCorp і стваральнікам такіх папулярных інструментаў, як Terraform і Vagrant. Яго паслужны спіс стварэння надзейных, шырока распаўсюджаных інструментаў распрацоўшчыка надае праекту вялікі аўтарытэт. Рашэнне зрабіць гэта з адкрытым зыходным кодам дадаткова дэманструе прыхільнасць да развіцця, кіраванага супольнасцю.

Наколькі Ghostty патрабуе рэсурсаў у параўнанні з маім цяперашнім тэрміналам?

Першыя тэсты паказваюць, што Ghostty надзвычай лёгкі, спажывае значна менш рэсурсаў працэсара і памяці, чым многія вядомыя эмулятары. Яго эфектыўная кодавая база Zig і прамое выкарыстанне сістэмнага API мінімізуюць накладныя выдаткі, што карысна для распрацоўшчыкаў, якія працуюць з вялікай нагрузкай. Гэтая эфектыўнасць прывабная для тых, хто выкарыстоўвае рэсурсаёмістыя платформы, такія як Mewayz, дзе важная кожная прадукцыйнасць.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 6,208+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 6,208+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime