はじめに
皆様初めまして、インフラチームのよこやまです。
あ、えっと、インフラチームとっても実はメンバーが一人でして、そんななか AWS を用いたインフラについてのな業務に加えて SRE 的な話も出てきてさぁ。
あー、こんなに AWS に詳しいエンジニアがもっといてくれたら……。
というわけでそこのあなた!弊社ではエンジニアを大募集中です!!
今すぐ右上をポチッと、お願いします!(YouTuber 風に)
失礼、少々取り乱しました。
ちなみにエンジニアは本当に大募集中でして、ご興味がりましたら是非見てみていただけるとうれしいです。
気を取り直しまして……。
どんなことを書こうかなと悩んでいたのですが、結構な時間をターミナルとにらめっこするのに費やしていますので、今回はターミナルをクールにしていこうと思います。
tmux のステータスラインをクールに
ターミナルは iTerm2 を使い、マルチプレクサに tmux を導入しています。
tmux のステータスライン(最下部)をいじるとかなりクールになるのではと思い、今回はここをいじっていこうと思います。
しかしといじったことがる方ならおかと思いますが、苦労したわりには結果がいまいちになったりします。
なのでそんな悲しい結果を生み出さないよう、既にるものを活用していきたいところです。
そんなにぴったりな を導入していきたいと思います。
の導入
とは で書かれた Vim のステータスラインをクールにするもので、tmux をはじめ他でも使えるようになったものです。
過去には tmux- というものもったようですが現在は非推奨となっています。
検索すると両者が混ざっていて少々りづらかったので、導入方法についても軽くまとめます。
とっても pip コマンドでサクッとインストール出来ました。
|
1 |
pip install powerline-status |
のステータスも取りたかったので psutil もインストールします。
|
1 |
pip install psutil |
ちなみに私の macOS ではインストール後に OS の再起動が必要でした。
tmux の設定
tmux の設定ファイル ~/.tmux.conf に設定を書いていきます。
まずは tmux で読み込むファイルの居場所を特定します。
|
1 |
pip show powerline-status | grep Location |
ここで表示されたパスに //bindings/tmux/.conf を足してあげたものが読み込むファイルですので source で指定します。
私の環境では /opt/homebrew/lib/3.11/site-packages でしたので以下のように設定しました。
|
1 2 3 4 |
source "/opt/homebrew/lib/python3.11/site-packages/powerline/bindings/tmux/powerline.conf" run-shell "powerline-daemon -q" set-option -g status-left-length 130 set-option -g status-right-length 60 |
ステータスに表示するものが多い場合は status-left-length と status-right-length を調整してみてい。
なお、私の環境では元々以下のように色指定をしていましたが、 で表示されるものと食い違って変な感じになってしまったので削除しています。
|
1 2 |
set-option -g status-fg white set-option -g status-bg blue |
クールにカスタマイズ
~/.config/ 以下に設定ファイルを配置してカスタマイズします。
しかしこれが結構そう、ということでこちらをまるまる参考にさせていただきました。
天気が表示されない問題
標準で現在の天気を表示する機能がるのですが、IP アドレスから地域を特定するサービスが終了、更に Yahoo! の天気 も終了ということで機能しませんでした。
天気が表示されないとクールじゃない!ということで調べてみたところ、 -owmweather とう OpenWeather の無料 を利用するものが使えましたのでこちらを利用します。
|
1 |
pip install powerline-owmweather |
を使うためには登録が必要ですが、無料で作れるので登録します。
発行された 用のキーを設定に書いてあげます。
また前述のように IP アドレスから地域を特定するサービスが終了しており地域の自動判別に失敗しますので、明示的に “都市名, 国の2文字コード” を渡してあげる必要がります。
クールになりました!
最終的に .config//themes/tmux/tmux-theme.json に設定したものはこんな感じです!
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
{ "segments": { "right": [ { "function": "powerline.segments.common.sys.cpu_load_percent", "before": "CPU: ", "priority": 50 }, { "function": "powerline.segments.common.bat.battery", "priority": 100 }, { "function": "powerline_owmweather.weather", "args": { "openweathermap_api_key": "(YOUR_API_KEY)", "location_query": "tokyo, JP", "show": "condition, temp", "pre_temp": " " }, "priority": 50 }, { "function": "powerline.segments.common.time.date", "args": { "format": "%Y/%m/%d(%a)" }, "priority": 10 }, { "function": "powerline.segments.common.time.date", "args": { "format": "%H:%M", "istime": true }, "priority": 10 } ] } } |
補足: 対応のフォントが必要
では特殊な記号などを使っており、 対応のフォントが必要です。
りますが、今回は Cica というフォントを導入してみました。
「ダウンロード」から zip をダウンロードしてきてインストールします。
tmux のステータスラインは手動で設定しようとするとなかなか骨の折れる作業になりがちですが、 によって簡単にクールになるのでお勧めです。
皆様もクールなターミナル生活をエンジョイしてい!
ここまでお読みいただき、ありがとうございました。
データセンタ生まれ、クラウド育ち。 インフラエンジニアですが、最近 SRE を始めました。 インフラや SRE にご興味がおありのそこのあなた!一緒に働きませんか?



