12FF5B8

hico_horiuchiの技術系な覚え書き.

SSH接続時にPowerlineを使わない

研究室のLinuxデスクトップで、powerline-shellを使っている。
普通にGUI環境で使うには良いのだが、Windows上でTeraTermからSSH接続すると、Powerline用のフォントを設定していても、上手く表示されない。
そこで、SSH接続中は、Powerlineを使わないコマンドプロンプトを使うようにする。

.bashrcの設定方法

bashを使っているので、~/.bashrcに、以下の設定を追加する。

# powerline-shell
function _update_ps1() {
  export PS1="\n$(~/src/powerline-shell/powerline-shell.py $?) "
}

# prompt
WHO=`who | head -n 1 | grep pts/0`
if [ -n "$WHO" ]; then
  source ~/src/git/git-prompt.sh
  PS1='\n[\w\[\e[31m\]$(__git_ps1 "(%s)")\[\e[0m\]]\$ '
else
  export PROMPT_COMMAND="_update_ps1"
fi

変数WHOにwhoコマンドの結果を格納して、pts/0の接続のみの場合は、Powerlineを使わない。
ただし、デスクトップ環境を使用中のSSH接続では適用されないので注意。
もっと、スマートな方法で実現できれば良いのだけど。