2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Debian環境でGhosttyをインストールしてみた

Last updated at Posted at 2025-01-24

はじめに

最近 Ghostty というターミナルエミュレータが注目を集めていることを知り、試してみることにしました。

技術系 YouTube で見聞きしたり、また同僚の「Ghostty いいね」といった感想もあり、自分自身でも体験してみようと思いました。

本執筆時点では公式に Debian 用のバイナリが提供されていないため、ソースコードからビルドする必要がありました。しかしながら、公式ドキュメントに従うことでなんの問題もなく簡単にビルド及びインストールすることができました。

本記事では、Ghosttyを試した印象や氣づいたことを記録していきます。


環境


Ghostty の魅力

Ghosttyは初期設定でも十分に使いやすく、直感的な操作性が特徴と認識しました。
デフォルトの設定を確認したり、ドキュメントを参照するためのコマンドが提供されているのがいいなと思いました。

これらの便利な機能により、初心者でも簡単にカスタマイズができそうな感じです。

# 現在の設定を列挙
ghostty +show-config

# 初期設定を列挙
ghostty +show-config --default

# 初期設定を説明付きで列挙
ghostty +show-config --default --docs

# ショートカット一覧を表示
ghostty +list-keybinds

# 利用可能なテーマをリストアップ
ghostty +list-themes

テーマの選択肢がデフォルトで豊富に用意されているのも大きな魅力のひとつです。
用意されているテーマをリストアップし、簡単に試すことができます。

ghostty +help コマンドを使うことで、すべての機能を簡単に把握することができます。[+action]の部分が特徴的に感じました。

$ ghostty +help
Usage: ghostty [+action] [options]

Run the Ghostty terminal emulator or a specific helper action.

If no `+action` is specified, run the Ghostty terminal emulator.
All configuration keys are available as command line options.
To specify a configuration key, use the `--<key>=<value>` syntax
where key and value are the same format you'd put into a configuration
file. For example, `--font-size=12` or `--font-family="Fira Code"`.

To see a list of all available configuration options, please see
the `src/config/Config.zig` file. A future update will allow seeing
the list of configuration options from the command line.

A special command line argument `-e <command>` can be used to run
the specific command inside the terminal emulator. For example,
`ghostty -e top` will run the `top` command inside the terminal.

On macOS, launching the terminal emulator from the CLI is not
supported and only actions are supported.

Available actions:

  +version
  +help
  +list-fonts
  +list-keybinds
  +list-themes
  +list-colors
  +list-actions
  +show-config
  +validate-config
  +crash-report
  +show-face

Specify `+<action> --help` to see the help for a specific action,
where `<action>` is one of actions listed above.

設定方法

Ghosttyの設定ファイルは、$HOME/.config/ghostty/config に保存されています。
また、「Ctrl + ,」のショートカットで直接開くことができます。


私の設定

デフォルトの設定でも十分快適なのですが、いくつか自分の好みに合わせて調整を加えました。

主な調整内容

  • フォント: Neovim で使用している FiraCode Nerd Font
  • ショートカット: tmuxNeovim で設定している操作感に合わせて、ページアップ/ダウンのショートカットを調整

以下が私の設定ファイルです:

# $HOME/.config/ghostty/config
theme = Dracula+
font-size = 10
font-family = FiraCode Nerd Font

keybind = ctrl+shift+up=scroll_page_up
keybind = ctrl+shift+down=scroll_page_down

keybind = ctrl+shift+k=scroll_page_up
keybind = ctrl+shift+j=scroll_page_down

Alacritty との比較

これまでターミナルエミュレータとして Alacritty を愛用してきました。その理由は、シンプルであること、そして TOML/YAML 形式の設定ファイルを使って
簡単にカスタマイズが可能な点でした。

私がターミナルエミュレータに求めるのは「tmuxNeovim と組み合わせてシンプルに使えること」です。この観点から、Alacrittyのシンプルさは非常に魅力的でした。

対して、Ghosttyを使ってみた印象は、「人間に優しい設計」だということでした。設定やコマンドがわかりやすいのは、誰にとっても良いことだと思います。


Debian 環境でのGhosttyビルド

公式ドキュメントに従うことでなんの問題もなく簡単にビルド及びインストールすることができました。

ビルド手順

以下の手順でソースコードからビルドしました。

zig をインストール

Zigasdf を使って インストールしました。
Ghostty の公式ドキュメントによると Zig はバージョン 0.13 以上である必要があるそうです。

asdf plugin add zig
asdf install zig latest
asdf global zig latest

zig version

必要な依存関係をインストール

sudo apt update && sudo apt install libgtk-4-dev libadwaita-1-dev git

ソースコードをダウンロード

ソースコードの置き場はどこでもいいのですが、設定ファイルのある$HOME/.config/ghostty/配下に置く方針にしました。

$ tree -L 1 $HOME/.config/ghostty
/home/mnishiguchi/.config/ghostty
├── config  # 設定
├── ghostty # ソースコード
└── themes  # テーマ

3 directories, 1 file
git clone https://github.com/ghostty-org/ghostty $HOME/.config/ghostty/ghostty

Ghostty をビルドしてインストール

基本的にソースコードのあるディレクトリに移動し、zig buildコマンドを叩くだけですが、-pオプションでバイナリの置き場所を指定することがポイントです。

ビルド結果にはバイナリ以外にもいろんなファイル(アイコン、テーマ、デスクトップファイルなど)がついてきます。このオプションを指定することにより、必要なファイルが自動的に適切にコピーされます。便利!

私の場合は、バイナリの置き場所を$HOME/.localにしています。

cd $HOME/.config/ghostty/ghostty
zig build -p $HOME/.local -Doptimize=ReleaseFast

.desktop ファイルを修正

ビルド後、$HOME/.local/bin/ghosttyは問題なく起動できたものの、デスクトップのアプリケーションメニューからは起動できませんでした。
どうもデスクトップ環境で何かが Ghostty をアプリケーションと認識されていないようです。

.desktop ファイルは$HOME/.local/share/applications/com.mitchellh.ghostty.desktopにありました。

それを手動でリネームしたら解決しました。

mv $HOME/.local/share/applications/com.mitchellh.ghostty.desktop $HOME/.local/share/applications/Ghostty.desktop
update-desktop-database $HOME/.local/share/applications/

カスタムスクリプト

再インストールや最新のソースコードへの更新を簡単に行えるよう、以下のスクリプトを作成しました。

自分用なのでお使いの場合は適宜中身を変更してください。


おわりに

Ghosttyは、その直感的なわかりやすい設計が魅力的に思いました。日々の作業がより快適になりそうな予感がします。
これからもGhosttyを使い続け、その中で見つけた便利な使い方を追求していきたいと思います

toukon-qiita-macbook_20230912_091808.jpg

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?