【Shox】Linuxのターミナルにステータスバーを追加してかっこよくする

ブログ

こんにちは、山田ハヤオです。たまに趣味でGitHubのいろいろなリポジトリを漁ります。

そんな中で偶然「Shox」というリポジトリを見つけたので紹介しようと思います。

自分が知っている限りではこれを紹介している日本人はまだ誰もいなかったです。

スポンサーリンク

Shoxとは

水色の背景のバーです。ターミナルの上に常にこれを表示してくれます。

仕組みはよくわからないですが、すごいことにスクロールしても常に表示されています。

Conkyみたいにいろいろとカスタマイズして表示できるというGo製のツールです。

READMEによると、コマンドの応答とターミナルの出力を中継し、無理やりバーを挿入しているそうです。しばらくこれを使っているのですが、今の所まったく影響はありません。

GitHub - liamg/shox: 🍫 A customisable, universally compatible terminal status bar
🍫 A customisable, universally compatible terminal status bar - GitHub - liamg/shox: 🍫 A customisable, universally compatible terminal status bar

上のリポジトリを偶然見つけ、試しにインストールしたら非常によかったので紹介です。

インストール

Arch Linux / Alter Linux

Arch LinuxやAlter Linuxの方はAURから簡単にインストールできます。

(ハヤオがパッケージを作成しました)

yay -S shox

その他のディストリビューション

curl -s "https://raw.githubusercontent.com/liamg/shox/master/scripts/install.sh" | sudo bash

公式サイトのインストーラを使ってください。

起動する

ターミナルを開いてshoxコマンドを入力すると起動できます。

インストール後はこんな感じなので、ここから設定を変更していきます。

設定をする

テンプレートを作成

まずは設定ファイルを作成します。

mkdir -p ~/.config/shox/
touch ~/.config/shox/config.yaml

その後、エディタで先程作成した~/.config/shox/config.yamlを開きます。

今回はVScodeを使うので

code ~/.config/shox/config.yaml

で設定ファイルを開きます。

そしてデフォルトの初期設定を入力します。

shell: /bin/bash
bar:
    format: "{time}||CPU: {cpu} MEM: {memory}"
    colours: 
      bg: red
      fg: white
    padding: 0

設定は全てこのデフォルト値を変更していく形で行っていきます。

シェルを設定

次に自分が使っているシェルを設定します。shell:の値はecho $SHELLの実行結果を入力します。

今回はZshを使っているので/usr/bin/zshを入力します。

色合いを設定

フォーマットは飛ばして先に色を設定します。bg:が背景色、fg:は文字色です。

  • black
  • white
  • red
  • green
  • yellow
  • blue
  • magenta
  • cyan
  • darkgrey
  • lightgrey
  • lightred
  • lightgreen
  • lightyellow
  • lightblue
  • lightmagenta
  • lightcyan

それぞれの値に上の色を設定できます。

ターミナルの設定次第で実際の色が変わってくるので見やすい色の組み合わせを探してみてください。

ハヤオはbg: cyanfg: whiteに設定しています。

padding

バーの下に空行を挿入できます。

例えば、paddingを2に設定すると2行追加されます。

ハヤオは不要なので0に設定していますが、フォントサイズや高解像度の影響で文字が被っている場合は設定すると良いかもしれません。

フォーマット

バーに表示する内容です。デフォルト値を変更していく形で行います。

まず、基本的な設定として固定されている文字はそのまま入力します。

変化する値は以下のものが使えます。

時間{time}
CPU使用率{cpu}
メモリ使用率{memory}
バッテリー使用率{battery}
天気{weather}
カスタムコマンド{bash <コマンド>}

また、右寄り、左寄りは||で区切られています。

その他の内容を表示したい場合はbashコマンドを入力すれば設定できます。

また、日付の形式は固定されているので、変更したい場合はdateコマンドを使ってカスタマイズします。"が入らないように注意する必要があります。

format: "{bash:date '+%Y年%m月%d日 %H時%M分'}||CPU: {cpu} MEM: {memory}"とこんな感じで設定をしていきます。

最終的な設定

shell: /bin/zsh
bar:
    format: "{bash:date '+%Y年%m月%d日 %H時%M分'}||CPU: {cpu} MEM: {memory}"
    colours: 
      bg: cyan
      fg: white
    padding: 0

こんな感じで設定できれば完了です。

確認

もう一度shoxコマンドで起動して設定を確認します。

もし起動していたらkilllall shox; clearで終了してください。

設定が不正だと初期値で起動してしまうので、設定がしっかりと適用されているか確認してください。

自動起動する

毎回shoxを手動で起動するのは非常に面倒なので自動起動できるようにします。

shox 2> /dev/null || true

これをBashなら.bashrc、Zshなら.zshrcに追記してください。

結果

ターミナルを起動するたびに先頭にこれが表示されれば成功です。

それでは、また今度。

コメント

タイトルとURLをコピーしました