Powerline Shellを使えば、以下のようなカラフルでカッコイイなプロンプトにすることができます。
カッコイイだけじゃなく、プロンプトに以下のような便利機能が追加されます。
- GitやSVNなどのブランチ名を表示する。
- コマンドが失敗した時にプロンプトの色が変わる。
- 深いディレクトリに移動した時、ディレクトリを省略表示する。
Powerlineフォントのインストール
Powerline Shellにはパッチが当てられたPowerline Fontsが必要です。以下の手順でまとめて最新版をインストールできます。「./local/share/fonts/」ディレクトリ以下にインストールされます。
git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh
cd ..
rm -rf fonts
フォント設定の変更
端末ウィンドウのフォントを、追加したフォントに変更します。以下の2通りの方法があります。
方法1・フォント設定をまとめて変更する
デスクトップ環境の「等幅フォント」をPowershellフォントに変更すれば、通常は端末エミュレーターの設定も連動して変わります。GNOME ShellならGNOME Tweaks(GNOME Tweak Tool)、UnityならUnity Tweak Toolを使って設定することができます。また、GNOMEベースの環境(Unity含む)なら、コマンドラインで以下のように実行して設定することも可能です。
【Ubuntu Mono derivative Powerline 13に設定する例】
gsettings set org.gnome.desktop.interface monospace-font-name 'Ubuntu Mono derivative Powerline 13'
【Source Code Pro for Powerline 11に設定する例】
gsettings set org.gnome.desktop.interface monospace-font-name 'Source Code Pro for Powerline 11'
方法2・端末エミュレーターのフォント設定を変更する
端末エミュレーターで個別にフォントを設定する方法もあります。gnome-terminalなら、「設定」→「プロファイル」を開き、プロファイルを選択して「編集」をクリックします。「フォントを指定する」をクリックし、名前に「Powerline」が含まれるフォントを選択しましょう。
Powerline Shellのインストール
インストールには「pip」コマンドが必要です。インストールされていなければ、以下のコマンドで入れておきます。
Ubuntu/Debian系の場合
sudo apt install -y python-pip
FedoraなどRed Hat系の場合
sudo yum install -y python2-pip
Pipが使えるようになったら、以下のコマンドでPowerline Shellをインストールできます。
pip install --user powerline-shell
シェルごとの設定
使っているシェルごとに、Powerline Shellを実行する設定を書き込みます。設定を変更した覚えがなければ、Bashを使っているはずです。
Bash
「~/.bashrc」に以下を追記します。
function _update_ps1() {
PS1="$(~/.local/bin/powerline-shell $?)"
}
if [ "$TERM" != "linux" ]; then
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi
ZSH
「~/.zshrc」に以下を追記します。
function powerline_precmd() {
PS1="$(~/.local/bin/powerline-shell --shell zsh $?)"
}
function install_powerline_precmd() {
for s in "${precmd_functions[@]}"; do
if [ "$s" = "powerline_precmd" ]; then
return
fi
done
precmd_functions+=(powerline_precmd)
}
if [ "$TERM" != "linux" ]; then
install_powerline_precmd
fi
Fish
「~/.config/fish/config.fish」に以下を追記します(ファイルがなければ作成します)。
function fish_prompt
~/.local/bin/powerline-shell --shell bare $status
end
Powerline Shell表示例
設定ファイルで動作をカスタマイズすることもできます。詳しくはPowerline Shellのサイトを参照してください。
関連サイト
https://github.com/banga/powerline-shell
https://github.com/powerline/fonts
更新履歴
2017-10-07 Ubuntu 17.10、Fedora 26で動作を確認
コメント