最近はWindows、もっぱらWSLを使用してLinux環境にどっぷりといった感じになってきました。RaspberryPiとWSLなどを使用はしていますが、本来は「黒い画面怖い派😫」なのでもう少し見やすくなるといいなあとは思っていました。
そんなとき、Youtubeで海外の方がOh My Posh
を使用してコンソールのコマンドプロンプトを見やすくするというようなことをやっていたので、ちょっとやってみたいなと思いました。簡単に言うと、bashなどのコマンドラインをカラー化したりアイコンを表示して見やすくするというものです。
なかなか楽しい見た目にもなりますし、正直、管理もしやすいなと思いました。また、このOh My Posh
はbashだけでなくPowerShell上のコンソールにも使用できるという点がいい点かなと感じています(自分は使わないですけど🙇)。
類似したツールとしてはStarshipがあります。Starship
は日本語のドキュメントが充実しているのも良い感じ。今回はあまりドキュメントが充実していなかったOh My Posh
をWindows(WSL)で使用するという内容で進めています。
これを書いているということは、ハマったということです🙃勘違いに近い感じでしたが。
Oh My Posh
ってどんなものなの?
私が使ってみて感じたOh My Posh
の特徴を簡単にまとめてみました:
- Gitのブランチ名やPythonの仮想環境が見やすい(これ重宝してます!)
- 今いるディレクトリのパスが見やすい(長いパスも省略できる)
- バッテリー残量も表示できる(ノートPCユーザーには嬉しい)
- コマンドの実行時間も分かる(重い処理の時に便利)
- テーマが豊富で見た目を簡単に変更できる
- WindowsでもLinuxでもmacでも使える(環境が変わっても同じ設定で使える😎)
導入手順
以下のように導入を行っていきます。
- Oh My Poshってどんなものなの?
- 導入手順
- 1. まずはNerdフォントの準備から
- 2. Oh My Poshのインストール
- 3. 設定ファイルの編集
- 4. テーマを選んで設定
- おわりに
- トラブったときのチェックポイント
1. まずはNerdフォントの準備から
最初にハマったのがここです😅 Oh My Posh
でかわいいアイコンを表示するには、専用のフォント(Nerdフォント)が必要となります。Nerdフォントというフォントが1つあるということではなく、Nerd対応(アイコン対応)したフォントという意味です。
このフォントを使用するのはWSL(bashなどのCLI)となるのでフォントのインストールはWSL側でするのかなと思ったのですが、これが大きな勘違いでした。WSLではフォントをを管理しているのは、ターミナル側を管理している側、つまりWindows側の設定になるのです。そのため、フォントのインストールをWSL内のコンソールで行っても全く反映されないのでした😫
そのため、以下の手順でフォントのインストールを行っていきます。
- Nerd Fontsのサイトにアクセス
- 好きなフォントをダウンロード
- ダウンロードしたフォントをWindowsにインストール
Windows Terminal
の設定でフォントを変更
1.Nerd Fontsのサイトにアクセス
Nerd Fonts
は以下サイトからダウンロードができます。
2. 好きなフォントをダウンロード
フォントは好みになるので見やすいものを各自確認してもらえればと思いますが、私はIBMPlexMonoを使うことにしました。
3. ダウンロードしたフォントをWindowsにインストール
ダウンロードし、アーカイブを展開します。
フォントファイルをクリックして確認しておきます。
このままインストールをしてもいいのですが、Windows側のフォントファイルフォルダにコピーしたほうが楽なので以下のように行います。
【田 + R】(ファイル名を指定して実行)を押下して、ダイアログに以下を入力して【OK】ボタンをクリックします。
shell:fonts
フォントのフォルダが表示されるので、アーカイブのフォントファイルをここにコピーします。
4. Windows Terminal
の設定でフォントを変更
続いてはWindows Terminal
のフォント設定を変更します。ここも外観という項目が2つあって紛らわしいので注意して作業をしてください。
まずは、Windows Terminal
のメニューバーの【🔽】をクリックし、プルダウンから【設定】をクリックします。
【設定タブ】が表示されるので、左側のペインにあるプロファイルの内にある【既定値】をクリックします。
【既定値】の表示に切り替わったら、追加の設定内にある【外観】をクリックします。
ここでフォント切り替えの画面になるのでテキスト内にある【フォントフェイス】をクリックして
インストールしたフォントに切り替えます。
これで、Windows Terminal
のフォント設定が完了します。
個人的にはフォント設定が深い階層にあるのでわかりにくく、設定内に【外観】が2つあるので、設定画面の構造上、注意が必要です🤔(修正されれるといいですね)
2. Oh My Posh
のインストール
WSLでOh My Posh
をインストールします。ここからの手順はLinuxの手順を参照してください。
# Oh My Poshインストール ## ~/.local/bin にインストールが行われます。 $ curl -s https://ohmyposh.dev/install.sh | bash -s
3. 設定ファイルの編集
bashを使ってる人は.bashrc
か.bash_profile
に以下を追加します。私は.bash_profile
に追加しています。
また、Oh My Posh
が~/.local/bin
にインストールされているので、同ファイルでパスの追加も行っています。すでにファイルがある場合には追記となります。
.bash_profile
# Oh My Posh起動設定 export PATH=$PATH:~/.local/bin/ eval "$(oh-my-posh init bash)"
ファイルを保存したら新規にbashを開くか、以下のコマンドを実行して、設定を読み込み直します。
$ source .bash_profile
以下のように、コンソールの見た目が以下のようになれば成功です。
4. テーマを選んで設定
テーマは自作も可能ですが、公式サイトにあるあるテーマファイルを導入して、カスタマイズするのがよいでしょう。
# テーマファイルのダウンロード ##unzipが導入されていなかった場合には以下を実行してください $ sudo apt update $ sudo apt install unzip ## ディレクトリ作成 $ mkdir -p ~/.poshthemes ## テーマ一覧の取得 $ wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/themes.zip -O ~/.poshthemes/themes.zip ## 展開 $ unzip ~/.poshthemes/themes.zip -d ~/.poshthemes ## ファイルの権限を付与 $ chmod u+rw ~/.poshthemes/*.json ## テーマ一覧ファイルの削除 $ rm ~/.poshthemes/themes.zip
ここからが一番楽しい部分になりますが、公式サイトからもテーマのプレビューが見られるので、お気に入りを探してみてください!
テーマが決まったら.bash_profileにあった起動部分に`--config```オプションをつけてロードすることで、テーマを有効化できます。
# テーマの反映 eval "$(oh-my-posh init bash --config ~/.poshthemes/<テーマ名>.json)" # 例えば、jandedobbeleerテーマを使う場合 eval "$(oh-my-posh init bash --config ~/.poshthemes/jandedobbeleer.omp.json)"
.bash_profileのサンプル 使用するテーマの行をコメントアウトしてください
export PATH=$PATH:~/.local/bin/ # eval "$(oh-my-posh init bash)" # eval "$(oh-my-posh init bash --config ~/.poshthemes/jandedobbeleer.omp.json)" # eval "$(oh-my-posh init bash --config ~/.poshthemes/atomic.omp.json)" # eval "$(oh-my-posh init bash --config ~/.poshthemes/paradox.omp.json)" # eval "$(oh-my-posh init bash --config ~/.poshthemes/powerlevel10k_rainbow.omp.json)" # eval "$(oh-my-posh init bash --config ~/.poshthemes/agnoster.omp.json)"
おすすめ?テーマ
jandedobbeleer(シンプルで見やすい)
atomic(かっこいい!)
paradox(情報が見やすく配置されてる)
powerlevel10k_rainbow(派手好きな人に)
agnoster(定番だけど使いやすい)
おわりに
「見た目重視かな?」と思っていたOh My Posh
ですが、使ってみると結構実用的な面も多くて気に入っています。特にGit
やPythonの仮想環境
の状態がひと目で分かるのは、開発作業が捗るのでないかと。
今回はWSLのbashを対象にしていましたが、PowerShell
でもWSL
でも同じように使えるのも魅力的です。Windows環境でクロスプラットフォームな開発をする人には、特におすすめできるツールだと思います😊
トラブったときのチェックポイント
私がハマったポイントをまとめておきます:
- フォントのインストールや設定はWindows側で行う。
- アイコンが□や?で表示される →
Nerd font
をちゃんと設定できてない可能性大 - テーマが反映されない → bashの設定ファイル見直したり、ターミナル再起動
- コマンドが見つからない →
Oh My Posh
へのPATHが通ってないかも。
参考リンク