「Libghostty」がついに登場!Hacker Newsで注目の技術に新たな動きか
引用元:https://news.ycombinator.com/item?id=45347117
この人が何十億ドルもの会社を立ち上げて上場させ、売却した後もすぐハッキングに戻るってのが最高だよな。まさに伝説だわ。
Hashimotoはマジで魔法使いだよな。彼のシステムやインターフェースを最大限にコンポーザブルで絡まりが最小限になるように分割・抽象化する能力は尋常じゃない。Rich Hickeyの「Simple Made Easy」哲学を体現してるみたいだ。
Ghosttyを初めて試したけど、iTerm2とZsh/Powerlevel10kだとコマンド実行からレンダリングまでわずかな遅延があるけど、Ghosttyだと本当に瞬時なんだ。
Ghostty、最高だよ。ただ、こんなすごいソフトなのに検索機能がないのが変だよね。それだけが欠点かな。
1.3以降はGhosttyのメンテナンスを他の人に任せて、彼は他の改善に取り組んでほしいな。ソフトウェア界は彼みたいな人にどんどん物事を前に進めてほしいんだ。
あとね、スクロールバーがないのがキツいんだよな。スクロールするためじゃなくて、「このウィンドウにどのくらいのコンテンツがあるか」とか「今どこにいるか」って視覚的な目安がほしいんだ。
毎日使ってるけど、ログファイルを読んだりするときは他のツールに切り替えるしかない。誰かスクロールバック情報をステータスラインに入れる方法を知ってたら教えてくれよ。
Ghosttyは彼の趣味のプロジェクトだぜ?なんで彼がそんなことしなきゃいけないんだよ?
メンテナンスは立ち上げほど楽しくないから?うまく構築されたプロジェクトは他の人がメンテナンスできるけど、ゼロから何かを始められる人は少ないから?彼のスキルは他の場所で活かせるから?
これが物事を前に進めてないってことか?俺が今まで使った中で最高のターミナルエミュレーターなんだけどな。
もしかしたら、あんたのリクエストを誤解してるかもしれないけど、出力はページャー(Less、more、batcatなど)にパイプしてないの?文脈をちゃんと理解できてないのかもしれないけどね。
基本的にMariaDBみたいな感じだね。MySQLのオリジナル開発者がMySQLを10億ドルで売って(確か)、フォークしてMariaDBを作って、ずっと続けてる。もう15年くらいになるのかな?
HashiCorpをまた調べちゃったよ。Vagrant、Packer、Nomad、Consulとか、開発者視点では役立つツールをたくさん作ってる素晴らしい会社だよね。でも、財務状況がさ…。LOL
売上:US$583M (2024年)
営業利益:US$−254M (2024年)
50%の損失率 :-)))
返信した相手は同意してるけど、メンテナンスは他の人に任せて、Hashimotoさんは他のテクノロジーの改善を続けられるはずだよね。
これってありえないでしょ。どうやって会社が成り立ってるの?実は、この数字を見る前から同じ疑問(というか感覚)があったんだ。ドキュメントを読んだり、彼らが作ったものを見たりするだけで、儲けよりも多く使ってるんじゃないかって疑問に思ってた。こんな変な感覚は初めてだよ。経済って、物事を磨き上げることそんなに寛容じゃないはずだよね。この会社に何が起こってるんだ?単なる使いすぎ?
夢みたいな話だね。富を持って、プロジェクトのためだけにプロジェクトを作れるなんて。利益のために品質を妥協する必要がないなんてさ。
Knuthの古い引用があるんだ。「実際、私が望むのは、何千人ものコンピューター科学者が好きなことを自由にできることだ。それが本当にこの分野を進歩させるんだ。」
愛情を込めて作られたプロジェクトが成功してるのをどんどん見るようになったね。お金への過度な執着がなければ、世界に大きな変化をもたらす良いプロジェクトを作れるんだ。ある意味Mitchellが羨ましいけど、正直言って、こういうことって、僕らの社会や経済がどう構築されてるのかを考えさせるよね。そんな影響力のあるものを作るのに、富からスタートする必要なんてないはずなのに。Knuthが宣言したことに応えるには、何を変える必要があるんだろう?
僕らみんな、少しの時間があれば、もっと物事を良くできたはずって経験があるはずだ。でも急ぐとたくさんの犠牲を払うよね。これについてKnuthの良いアドバイスもある。「もし全てを最適化したら、君はいつも不幸せになるだろう。」
僕たちはいつ反発するんだろう?尊敬する人たちが、とても違うやり方をしていたのを見てるはずなのに。Knuth自身も細部にこだわる性格だったって言ってるし、そういう主張はベテランによくあることだ。もちろん、時代は変わるけど、僕らは魔法使いのいない世界を作ってるの?問題を解決して僕らの生活を楽にした人に報酬を与える世界を作ってる?それとも単に無意味なゲームのスコアを最大化してるだけ?
品質に興味のない役員会に決定を正当化する必要なく、情熱を追求するようなMitchellが千人もいる世界に住んでみたいよ。どうすればそんな世界を作れるんだろう?
君が言ったように、まさに伝説だね。でも、どうすればもっと伝説を生み出せるんだろう?
人違いだよ。君が考えてるのはMichael “Monty” Wideniusで、Mitchell Hashimotoじゃない。
それってGoogleの哲学みたいだね。優秀な人たちがアイデアを出して最初の実装を書いて(そして昇進して)、他のあまり優秀じゃない人たちが引き継いで、結果的にBazelみたいに大きな可能性を秘めてたのにごちゃごちゃになっちゃう、ってやつ?
ログファイルを読むならKlogg (https://github.com/variar/klogg) を使うことをお勧めするよ。いつもは「tail -f file.log」派だったんだけど、このアプリを見つけてから光明を見たんだ。
まだ君の言いたいことがよくわからないな。プログラムからの出力は|
や>
でパイプできるし、less
やgrep
もやっぱり役に立つでしょ。それとも、どうしても忘れちゃう時のこと?そうだね、それならターミナル次第だけど、他の人が言ってるようにGhosttyには助けになるハックがあるし、他のターミナルにもね。でも、これって、もっと頻繁にパイプを使ってファイルに書き出す(あるいはtee
を使う)べきだってことを改めて教えてくれるはずだ。残念だけど、将来同じ間違いをせず、より良い習慣を学ぶことが、より良いコードを書き、より良いプラクティスを使うのに役立つよ。でもそれは「記録しなかったデータは分析できない」っていう昔からの問題で、それはどんなプログラミング言語、どんな実験、そして人生の多くの部分で経験する自滅行為だ。記録して捨ててしまう方が、記録せずに後悔するよりもずっといい。
OSSを支援するスポンサーモデルが必要だよね。大学の助成金を参考にできるはず。企業が使ってるOSSの量に見合った資金貢献を示す「認定Bコーポレーション」みたいな資格があれば、もっと還元されるべきだと思うんだ。
Ghostty大好きで毎日使ってるんだけど、Mitchell Hashimotoが作ったって知らなかった!これマジでクールだね!
もうすぐ取り掛かるみたいだよ: https://x.com/mitchellh/status/1964826929326153898
>維持するより始める方が楽しくないから?前の人が「維持より始める方が楽しいから次に進んでほしい」って言ってるってこと?彼が自分で決められないとでも思ってるわけ?
彼らはIBMに買収されたんだって。
「記録してないデータは分析できない」って言うけど、ちゃんと記録されてるんだよね。ほとんどのツールではスクロールバックで簡単にアクセスできるのに、Ghosttyだと検索もスクロールバーもないからアクセスしにくいんだ。結局、別のツールにダンプする羽目になるよ。スクロールバックの量を示すインジケーターがあれば、いつダンプすべきか分かりやすいのにね。これは素晴らしいツールの唯一の課題だと思ってるよ。
最新版では、Shift + Ctrl + Alt + Jで画面全体をコピーして$EDITORで開けるよ(設定できるかも)。Shift + Ctrl + Jで一時ファイルにコピーしてパスを貼り付けることもできるしね。これってKittyの検索みたいに、外部ページャーに処理を任せるUnixの哲学に沿ってるんだよ。最初は戸惑ったけどね。
こういうコメントに勢いがあれば、もっと良くなるのにね。ソフトウェアアーキテクチャの議論が最近減った気がするんだ。みんな特定のフレームワークの深みにハマりがちで、オープンソースアプリケーションの設計原則みたいな、共通の学びになるものをもっと話すべきだよ。たとえば「Architecture of Open Source Applications」みたいな本がもっと増えたら良いのにね。https://aosabook.org/en/
これって開発者にとってもビジネスにとっても大事な、奥深いアートなんだよ。
LibghosttyもFabrice Bellardのプロジェクトみたいになるかもね。彼がtinyccのメンテをやめたおかげで、今ではffmpegやqemuがあるんだし、同じようにすごいものが生まれるかも。
バージョン1.3は2026年3月にリリースされる予定だよ。
これ超クールだね!iOSやAndroidにまで広がる、真のオムニプラットフォームなターミナルエミュレータができるのはマジ最高だよ。GhosttyがZigで書かれてるって知らなかった、すごいね。リポジトリの構造がGolangそっくりで笑える。
https://github.com/ghostty-org/ghostty
Goのレイアウトには見えないし、それが良いんだよ。pkg/とかsrc/みたいなのはGoのディレクトリとして良くないからね。
もっとコメントを表示(1)
Go 1.25からはGoモジュールの“root”を宣言できるようになったのが良いね。マルチ言語リポジトリだとトップレベルにGoファイルを置きたくない人もいるから、/srcはGoディレクトリとして良くないって考えはもう古くなるよ。
macOS 13未満だとオムニプラットフォームじゃないのは困るな。ターミナルエミュレータみたいな「基本的な」ものなのに、後方互換性がないのはマジで多くの人にとって問題だよ。古いOSを使い続けるユーザーの気持ちも考えてほしい。Libghosttyはもっと対応OSが広いと良いんだけどな。依存関係がないのは良いサインだね。
(macOS 10.14.6の2018年製MacBook Proで書いてるよ)
OSの設定を自分でしっかりコントロールしたい人からすると、なんか変な意見だね。中立的な意見を個人的な攻撃にするなんて、マジで遭遇したくないタイプだよ。
全然変な意見じゃないよ。サポート外の古いLinux使ってたら、そりゃ馬鹿にされるでしょ。僕は製品を出す側として、あんたみたいな頑固なユーザーにはマジでお金を払ってでも来てほしくないんだ。時間も労力も無駄だからね。
Mitchellさんの開発者体験への情熱とこだわり、マジで半端ないね。Vagrantを初めて使った時の衝撃は今でも覚えてるよ。まさかiTerm2を捨てるなんて思わなかったけど、Ghosttyが出てからはすっかり夢中になっちゃった。
「Ghostty」は「iTerm2」より具体的に何が優れてるの? 数週間前に試したけど全然感動しなかったな。もしかしたら何か見落としてるだけなのかも。
良い質問だね。個人的には「Ghostty」は速く感じるし(あくまで個人的な感想だけど)、特定のTUIコンポーネントが壊れないんだ。彼のこれまでの仕事が好きだし、職場の全員が使ってるってのもあるから、ひいき目があるかもね。まあ、集団心理ってやつかな。
僕の経験も同じだよ。「Ghostty」は何も壊れないし、すごくサクサク動く感じ。同じ理由で「Zed」にも乗り換えたんだ。速くてシンプルなソフトウェアの方が、便利な機能がいくつかなくても、ずっと作業がはかどることに気づいたよ。解決しようとしてる問題に、より集中できる気がするね。
「Ghostty」を本当に好きになりたいんだけど、まだ「⌘F」で検索ができないんだ。キーボードショートカットだけで前の出力や特定の文字列を選択してコピーする方法も(僕が知る限り)ないし、「⌘.」で「CTRL-C」が送信されない(Macネイティブと宣伝されてるんだから期待するでしょ)。
フォントも「Terminal.app」ほど綺麗にレンダリングされないんだ。「font-thicken-strength」をいじっても近づいたけど、まだ完璧じゃない。Metalレンダリングの性質上、再現は難しいか不可能かもしれないけど、一日中テキストを見てる身としては重要なんだよ。
スクロールバックの検索機能は「Ghostty 1.3」で来る予定だよ。残念ながら、それはまだ6ヶ月先になりそうだけどね。「Ghostty」アプリでは他にもたくさん進んでるから、「1.2」のリリースノートをチェックしてみて!
検索機能の実装にこんなに時間がかかってる理由を説明するブログ記事とかないのかな? 「Ghostty」はすごく良いアプリなのに、それって基本中の基本の機能でしょ。何かちゃんとした理由があるはずなんだけど…。検索機能がないのが、僕が「iTerm2」を使い続けてる唯一の理由だよ。
誰も「grep」使わないの?
どうやって「grep」でスクロールバックや画面バッファを検索するんだ?
「> ⌘.がCTRL-Cを送信しない」
このコメントは聞き覚えがあるね[0]。笑
ちなみに、これは「keybind = “cmd+.=text:\x03”」でまだ設定可能だよ。
[0]: https://news.ycombinator.com/item?id=42889411
SSHで別のサーバーに接続するたびにキーボードが正しく動作しなくなることも言うまでもないね。解決策は彼らのウェブサイトにあるけど、「> infocmp -x xterm-ghostty | ssh YOUR-SERVER – tic -x -」ってさ、何をするか学ぶことはできるけど、SSHするたびにこんなの入力するなんてありえないよ。(これは「Ghostty 1.2」でなぜか設定に追記が必要だけど、一応修正されてる。ただ、普通に動くようにできないの?)
1時間かかるビルドログを画面で検索するのにgrepなんて意味ないだろ?teeしとけばよかったと後悔してるよ。
代わりにpagerを使ってみなよ。Batcatもいいけど、lessやmoreもgrepと相性バッチリだよ。よくcat foo.log | less
とか使ってる。プロヒントだけど、ターミナルでcontrol-x control-eを押すといいよ。bashならすぐ使えるけど、zshは設定が必要だよ。
ハハ、ありがとう :) NeoVimへの移行をずっと先延ばしにしてるんだ。モダンなターミナルはWezterm、Ghostty、iTerm2とか色々あるけど、どれも完璧じゃないから、開発状況をチェックし続けてるよ。
ログファイルなしで、stdoutに直接出力してるってこと?
“⌘はない。CTRL-Cを送ってる”って、これMacのショートカットだったの?待って、知らなかったんだけど?!
コメントの評価が変動してるってことは、僕の表現が悪かったのかもね。はっきり言うと、現代的なクロスプラットフォームTerminalコアとネイティブGUI実装のアイデアは最高だよ。まだ僕には完璧じゃないけど、すごく期待してるし、興奮もしてるよ。
catコマンドは省略できるよ。less foo.log
とか、grep 09-25-2025 foo.log | less
ってすればいいよ。
最近vimからneovimに移行したんだけど、全部設定を移せたよ。~/.config/nvim/init.vim
に特定の記述を追加して、zshrcにnvim
が存在すればvi
やvim
をnvim
にエイリアスする関数を定義するといいよ。
マジで。1985年からMac使ってるけど、こんなショートカットは知らなかったよ。
もうすぐ公開されるみたいだね: https://ghostty.org/docs/install/release-notes/1-2-0#roadmap
ssh
設定を勝手に変えるのはセキュリティ的に危ないからね。terminfo
の仕組み自体がクソで、Ghosttyのせいじゃないんだよ。俺たちも困ってるんだ。今後はghostty +ssh
コマンドで使いやすくする予定だよ。
それはキャンセルとか停止を意味するんだ。プログレスバーを止めたり、ダイアログを閉じたり、ドラッグをキャンセルしたりできるよ。昔のMac OSからある機能だよ。
zsh
にはcommands
ハッシュっていう便利な機能があって、alias
を設定しやすくなるんだ。例えば、vim
やnvim
が使えるならvi
コマンドでも呼び出せるようにできるよ。
1.3のリリースは2026年3月までないんだって。あと6ヶ月かかるみたいだよ。
Linux版にはいくつかの変な癖があるよ。ユーザーが設定したフォントが反映されないし、クリップボードも不安定なんだ。GTK4 UIも変なアニメーションが多くて気になるな。特に最初の二つは結構深刻だと思うけど、みんな気にならないのかな?
もっとコメントを表示(2)
Cmd-Shift-J
を試してみて。バッファが一時ファイルにダンプされて、パスが用意されるから、それをvi
で開けばいいんだ。
前にいくつかの小さな欠点を言ったら低評価されたけど、Ghosttyは着実に良くなってるよ。まだ待ってるんだ。
問題がなさそうとか、思ったより遅い時に使うか? もちろんそうだよ。
Ghosttyを気に入りたいんだけど、Linux版の1.2.0でもこのバグのせいですぐ使えなくなるんだよね。Discordにも入るくらい期待してたのに、がっかりだよ。https://github.com/ghostty-org/ghostty/issues/2210
⌘.でCTRL-C
が送れないって話だけど、Jetbrains terminalとかAlacritty、Kitty、iTerm2でも動かないんだ。内蔵のTerminal.appだけ使えるみたいだよ。
GTKを“ネイティブ”実装と考えるのは変だと思うな。GTKはネイティブインターフェースの上に構築された、意見のある抽象化レイヤーじゃん。ElectronやJavaじゃないって意味ではネイティブだけど、やっぱりいろんなクセが出る抽象化レイヤーだよ。
もちろん。なんでダメなの?ターミナルの検索機能を使えば、無限スクロールバックバッファも検索できるし。
ghosttyを毎日使ってるよ。macOSでCaps LockをCmdにリマップしてCmd+CもOK。デフォルトも良いし、カスタマイズも簡単。Gruvbox light themeも最高。Zigで書かれてるのも素晴らしいね。Zigの準備ができてないか疑問ならghosttyが答え。もう戻れないわ。Tip: ghosttyとaerospaceを組み合わせると、macでキーボードオンリー操作の完璧な環境になるよ。
Terminal.appユーザーとして、ghosttyを検討すべき理由を教えてくれない?
めっちゃ速いよ。脳が予想するより速いね。俺はvim使いなんだけど、ghosttyを30秒くらい試したらiTerm2から完全に乗り換えちゃった。後悔してないね。
俺は今terminologyを使ってて、これも“速い”。でもghosttyとterminologyを比べると、ghosttyではterminfoのせいでSSHが壊れるのが大きな問題。ghosttyが、リモート側で認識されてる別のターミナルになりすませない理由が完全に分からないけど、何かあるんだろうね。
https://ghostty.org/docs/help/terminfo#sshにある提案は試した?君がどんな問題に遭遇してるか分からないけど、俺はこれでSSHセッションでhtopを使う時の問題を解決できたよ。
別のやり方として、個人的にはhttps://ghostty.org/docs/help/terminfo#sshの解決策よりも、TERM=xterm-256color ssh <server>
ってする方が実用的だと感じたな。
Ghostty自体がTERM=xterm-256color
をSSHに自動で設定できるはず。今はユーザーがssh_config
をいじるの、マジでめんどくさいよね。新規ユーザーには特に不便だよ。
terminfoをあちこちコピーするのはマジでダルい。TERMのオーバーライドはまあアリかな。
俺はTerminologyに満足してるから、わざわざ乗り換える理由がないんだよね。:)
めっちゃ速い!マジで速い。設定もテーマも豊富でいい感じ。
何千行スクロールしても全然カクつかないし、日常使いで全く邪魔にならない。自然な使い心地だよ。
みんな「速い」って言うけど、それiTerm2が遅いからだよ。Terminal.appもiTerm2より速いし、他のとほとんど変わらないよ。
True Colorサポートがメインの乗り換え理由かな。terminfoはウザいけどssh_config
でTERM設定すればいいし。分割ペインは便利だね。
macOS TahoeでTerminal.appにTrue Colorサポートが追加されるんだって!
詳しくはこちら: https://www.macrumors.com/2025/06/16/apples-terminal-app-mac…
それClickhouseじゃなくてTigerBeetleのことじゃない?
TigerBeetleはすごくパフォーマンスの良いデータベースだよ。シミュレーションテストとかパフォーマンス・安全性検証の話が面白いんだ。
ClickHouseはC++で書かれてるんだよね。残念ながら。
でも、Zigもかなり合うんじゃないかなって思うよ。
ClickHouseはC++だけど、Rustでも書けるらしいよ。
https://clickhouse.com/blog/rust
Zigでも見られたら面白いね!
告白するわ。console、terminal (-emulator?)、shell、bashとかの違いがマジで分からんのよ。俺にとっては全部ただの黒い画面に文字が出てるだけ。
Git Shellとか言われても、Windowsのcmd/PowerShellで同じGitコマンド使えるし、何でそんな話になるのかずっと謎だった。
でも俺、めちゃくちゃ成功してるソフトウェアエンジニアなんだよね。この二つって両立しちゃダメな気がするんだけど。マジで何を俺は人生で見落としてきたの?教えて!