Oh My Posh とは
Oh My Posh は Jan De Dobbeleer が Go で作ったどのシェルでも使えるプロンプトのテーマエンジンです。エンジンはひとつ、テーマ形式もひとつ。bash、zsh、fish、PowerShell、Nushell、elvish、xonsh、cmd で、同じ美しく情報量のあるプロンプトが得られます。GitHub スター数は数万、テーマのエコシステムも巨大で、どのマシンでもどのシェルでも一貫したプロンプトを得る定番になりました。
PS1 のエスケープを手で書いていませんか。ひとつのシェルでしか動かないフレームワークに縛られていませんか。自宅の zsh とサーバーの bash を行き来するたび、プロンプトを一から作り直していませんか。Oh My Posh なら、設定ひとつがどこへでもついてきます。
apt upgrade を実行するだけで、常に最新版を使い続けられます。
⚡ Oh My Posh の主な機能
🐚 どのシェルでも、設定はひとつ
bash、zsh、fish、PowerShell、Nushell、elvish、xonsh、cmd で同じプロンプト。一度設定すれば、SSH 先も含めてどこでも同じです。
🎨 125 以上のテーマを同梱
このパッケージは組み込みテーマをすべて /usr/share/oh-my-posh/themes/ に入れます。追加のダウンロードなしに、オフラインで試して使えます。
🧩 豊富なセグメント
Git の状態、終了コード、実行時間、バッテリー、Kubernetes のコンテキスト、クラウドのアカウント、言語のバージョン(Go、Python、Node、Rust ほか多数)を、関係あるときだけ表示します。
📝 テーマも書式も自分好みに
JSON、YAML、TOML で独自テーマを書けます。スキーマはドキュメント化されており、好きな組み込みテーマから始めて自分のものにできます。
✨ トランジェント表示とツールチップ
トランジェントプロンプトがスクロールバックを汚さず、ツールチップが入力に反応し、右寄せセグメントがターミナルの幅を活かします。
⚡ 設計からして速い
セグメントを並列に描画する単一の Go バイナリ。セグメントをたくさん有効にしても、プロンプトは一瞬で出ます。
🏆 apt で入れるべき理由
- curl | bash をしない: インストールスクリプトをシェルに流し込む代わりに、GPG 署名付きリポジトリを使います
- テーマ同梱: 組み込みテーマはすべて
/usr/share/oh-my-posh/themes/に、バイナリとバージョンを揃えて入ります - 自動更新: 上流の新しいリリースが、いつもの
apt upgradeで届きます - きれいに消える:
apt removeがすべて持っていくので、~/binにバイナリが残りません - マルチアーキテクチャ: amd64、arm64、armhf。デスクトップでも Raspberry Pi でも同じ手順です
📦 deb.griffo.io からインストールする
ステップ 1: リポジトリを追加する
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 ずっと無料の選択肢もあります。 Oh My Posh は deb-free.griffo.io のずっと無料のミラーにも収録されています。アカウントもサブスクリプションも不要、上流より最大2か月遅れ、セキュリティ修正は即座に公開されます。上のリポジトリの代わりに、こちらを追加してください:
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb-free.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb-free.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb-free.griffo.io.gpg] https://deb-free.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb-free.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb-free.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb-free.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb-free.griffo.io.gpg] https://deb-free.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb-free.griffo.io.list > /dev/null
apt updateステップ 2: Oh My Posh をインストールする
sudo apt install -y oh-my-poshapt install -y oh-my-posh🚀 シェルを設定する
/usr/share/oh-my-posh/themes/ からテーマを選び、シェルを初期化します。bash なら ~/.bashrc にこう書きます:
eval "$(oh-my-posh init bash --config /usr/share/oh-my-posh/themes/jandedobbeleer.omp.json)"zsh なら同じ行を zsh に変えて ~/.zshrc に、fish なら oh-my-posh init fish --config /usr/share/oh-my-posh/themes/jandedobbeleer.omp.json | source を ~/.config/fish/config.fish に追記してください。多くのテーマは Nerd Font と組み合わせるといちばん映えます。oh-my-posh font install でも導入できます。
📦 パッケージのビルドリポジトリ
Ubuntu パッケージは、この GitHub リポジトリで自動的にビルド・管理されています:
- 📂 oh-my-posh-debian - 最新リリースのビルド
🔗 関連パッケージ
deb.griffo.io では、こちらも配布しています:
- Starship - 比べてみたいなら、もうひとつの人気プロンプトを
- fzf ファジーファインダー - 新しく整えたターミナルに、対話的な絞り込みを
- zoxide - 速いプロンプトと相性抜群の賢い cd
- Atuin - 仕上げに、魔法のようなシェル履歴を