はじめに
皆様初めまして、インフラチームのよこやまです。
あ、えっと、インフラチームと っても実はメンバーが一人でして、そんななか AWS を用いたインフラについての な業務に加えて SRE 的な話も出てきてさぁ 。
あー、こんな に AWS に詳しいエンジニアがもっといてくれたら……。
というわけでそこのあなた!弊社ではエンジニアを大募集中です!!
今すぐ右上をポチッと、お願いします!(YouTuber 風に)
失礼、少々取り乱しました。
ちなみにエンジニアは本当に大募集中でして、ご興味が りましたら是非見てみていただけるとうれしいです。
気を取り直しまして……。
どんなことを書こうかなと悩んでいたのですが、結構な時間をターミナルとにらめっこするのに費やしていますので、今回はターミナルをクールにしていこうと思います。
tmux のステータスラインをクールに
ターミナルは iTerm2 を使い、マルチプレクサに tmux を導入しています。
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/ .confsource
で指定します。
私の環境では /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 にご興味がおありのそこのあなた!一緒に働きませんか?