LoginSignup
3
1

More than 1 year has passed since last update.

Oh My Poshを利用してWSL2上のUbuntuのbashプロンプトをいい感じにする

Posted at

Oh My PoshPoshというPowerShellの短縮形が命名にはいっている事からわかるように。
元々はPowerShellのコマンドプロンプトをいいかんじにするPowerShellモジュールでありましたが、今現在は、PowerShell以外のシェルについてもいい感じにするようサポートされています。

本記事ではbashプロンプトをいい感じにしてみます。

ドキュメント

Installation Linux
Change your prompt | Oh My Posh

今回インストールする環境

今回はWSL2上のUbuntu-22.04Oh My PoshをインストールしてWindows Terminalからいい感じにプロンプトが表示されるようにしてみます。

インストール

Installation Linux

Installationのドキュメントを参照すると、homebrewを使った方法と、マニュアルでのインストール方法の記載があります。

今回は、マニュアルでの方法でインストールしていきます。

Oh My Posh のインストール
sudo wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O /usr/local/bin/oh-my-posh
sudo chmod +x /usr/local/bin/oh-my-posh

image.png

Poshテーマのダウンロード
mkdir ~/.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/*.omp.*
rm ~/.poshthemes/themes.zip

Nerdフォントのインストール と Windows Terminalの設定

今回はWindowsWSL2上のUbuntu 22.04Windows Terminalから利用するケースとなります。

Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher

Oh My Poshでプロンプトをいい感じにするのには、Nerdフォントと呼ばれるフォントを利用しています。
(プロンプトにいい感じのアイコンだったりを表示するのに利用されています)

ドキュメントでは Meslo LGM NF がおすすめされているようですが、他のNerdフォントでも互換性があり問題はなさそうです。

お好みのNerdフォントをインストールした上で、Windows Terminalのフォント設定を行います。

最近のWindows Terminalではjsonファイルを直接いじらなくてもフォント設定ができるので、GUI上からフォント設定した図

下記の例ではHackGenNerdというNerdフォントをインストールし、既定値 ー> 外観 から HackGenNerdを選択しています。

image.png

bashでOh My Poshを利用するように設定する

Change your prompt

.bashrc に下記を追加して起動時に Oh My Poshを読み込むように設定します。(

~/.bashrc
eval "$(oh-my-posh init bash)"

.bashrcを更新したら、下記でプロファイルをリロードします。

exec bash

bashプロンプトがいい感じに更新されました。

image.png

文字化けする場合

本記事の環境では、Windows TerminalNerdフォントを利用する設定になっていない場合は下記のように文字化けします。

image.png

このような表示になった場合は、Nerdフォントのインストールと、Windows TerminalでNerdフォントを利用するように設定してください。

## テーマを変更してみる

今回、手順の中でマニュアルでテーマを下記パスにダウンロードしています。

  • ~/.poshthemes

image.png

Customize

上記ページに記載がありますが、bashの場合は下記コマンドでテーマを切り替える事ができます。

1_shellテーマに切り替え
eval "$(oh-my-posh init bash --config ~/.poshthemes/1_shell.omp.json)"

コマンドを実行すると、テーマが切り替わった事を確認できます。

image.png

恒久的にテーマを切り替えたい場合は、.bashrcに追加した一行を上記コマンドに変更すればOKです。

総評

Oh My Poshの記事を書いていたと思ったら、いつの間にか。

と各種シェルへのインストール記事をかいている事に気が付きます。

自分は元々PowerShellで便利に利用していましたが、別のシェルでも普通に使えるようになり。
現在はWindows , Linux , Mac上で様々なシェルをいい感じにしてくれるソフトウェアになっています。

こうなってくると、Posh(PowerShellの省略形)という名称がついていますが。
様々な環境の様々なシェルを横断的に自分好みのテーマでいい感じにできる、いい感じのソフトウェアになっています。

弱点としては名前から、各種シェルに対応しているといった事が解りづらい点があるかと思いますが。

3
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
3
1