LoginSignup
0
0

More than 1 year has passed since last update.

powerline-shell, powerlineで環境変数を表示させる

Last updated at Posted at 2022-04-28

powerline-shell, powerlineそれぞれで環境変数を表示させるときの手順メモです。
今回は環境変数としてROS_DOMAIN_IDを表示させます。

powerline-shellの場合

powerline-shellの導入

  • ubuntu20.04
  • pip

上記環境での手順です。

Terminal
pip install powerline-shell

~/.bashrcに以下記入

~/.bashrc
function _update_ps1() {
  PS1=$(powerline-shell $?)
}

if [[ $TERM != linux && ! $PROMPT_COMMAND =~ _update_ps1 ]]; then
  PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi

環境変数の表示設定

powerline-shellのconfigファイルを生成します。

Terminal
mkdir -p ~/.config/powerline-shell && \
powerline-shell --generate-config > ~/.config/powerline-shell/config.json

生成したconfigファイルを以下のように変更します。
"var": "ROS_DOMAIN_ID"の部分を表示させたい環境変数に適宜変更してください。

powerline-shell/config.json
{
  "segments": [
    "virtual_env",
    "username",
    "hostname",
    "ssh",
    "cwd",
    "git",
    "hg",
    "jobs",
    "root",
    {
      "type": "env",
      "var": "ROS_DOMAIN_ID"
    }
  ]
}

表示

powerline-shell_test.png
設定した環境変数に表示が変更されることが確認できました。

powerlineの場合

powerlineの導入

こちらはubuntu環境の場合、aptでインストールでするのが最も簡単です。
以下記事に導入から色の設定等の内容を説明してくれていたので、こちらの記載の通りに進めました。
ここでは、最低限の必要な内容のみ記載しておきます。

Terminal
sudo apt install powerline

~/.bashrcに以下記入

~/.bashrc
# Powerline configuration
if [ -f /usr/share/powerline/bindings/bash/powerline.sh ]; then
  powerline-daemon -q
  POWERLINE_BASH_CONTINUATION=1
  POWERLINE_BASH_SELECT=1
  source /usr/share/powerline/bindings/bash/powerline.sh
fi

標準でインストールされる設定ファイルの~/.configへのコピー

Terminal
mkdir -p ~/.config/powerline
cp -R /usr/share/powerline/config_files/* \
      ~/.config/powerline/

これで~/.config/powerline以下のファイルを編集することでカスタマイズ可能になります。

環境変数の表示設定

powerlineでの端末に表示される内容は、~/.config/powerline/themes/shell/default_leftonly.jsonを編集することで端末に表示するものを変更することができます。
また、powerlineでの環境変数の詳細はここに記述がありました : powerline.segments.common.env.environmentの設定

今回は、以下内容をdefault_leftonly.jsonに追記しました。

powerline/themes/shell/default_leftonly.json
{
    "function": "powerline.segments.common.env.environment",
        "args": {
            "variable": "ROS_DOMAIN_ID"
        }
},

こちらは、"args":{}内の"variable:"の部分で表示させたい環境変数が設定可能です。

表示

Screenshot from 2022-06-26 21-18-07.png
powerlineでも設定した環境変数に表示が変更されることが確認できました。
こちらでは、何も設定していない場合はNoneの表示がないようです。

参考

0
0
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
0
0