1337 文字
7 分
tmuxとtmux-powerlineの設定でかっこよくする

とりあえず、こちらをご覧ください。一番下の行に注目!

tmux-powerline

解像度は2560x1440の全画面で表示

これは、tmuxtmux-powerlineを使って実現しています。

以下に、導入方法を書きます。

0. (強く推奨)powerline用のフォントをインストール#

まず、大なり、小なりのフォントを使うための設定をします。これをインストールした方が、すごい見栄えがかっこよくなります!

パッチを当てたフォントをインストールして、ターミナルなどでそのフォントを使って表示するようにします。
この記事で使われているスクリーンショットのフォントは、AdobeのSource code proにパッチを当てたフォントを使っています。

その他のフォントはこちら。
https://gist.github.com/qrush/1595572

自分でパッチを当てる場合はこちら。
https://github.com/fncll/vimstuff/tree/master/powerline-fonts

1.tmuxのインストール#

パッケージ又はソースコードからインストールします。

Terminal window
brew install tmux

2. tmux-powerlineのインストール#

tmux-powerlineをダウンロード

Terminal window
cd
git clone git://github.com/erikw/tmux-powerline.git

~/.tmux.conf に以下を追加

set-option -g status on
set-option -g status-interval 2
set-option -g status-utf8 on
set-option -g status-justify "left"
set-option -g status-left-length 60
set-option -g status-right-length 90
set-option -g status-left "#(~/tmux-powerline/powerline.sh left)"
set-option -g status-right "#(~/tmux-powerline/powerline.sh right)"

※サンプルには set-option -g status-justify "center" とありますが、leftの方が綺麗です

この状態でtmuxを起動すれば、それっぽい表示になると思います。

Terminal window
tmux

clean

3. tmux-powerlineの設定#

tmux-powerlineの設定は多種多様なので、費用対効果が高い設定を紹介します。
(詳細は、README(英語)にとても良くまとまっています。)

3.1 色を統一する#

デフォルトだとtmuxの背景とpowerlineの背景が合っていないので、色を変更します。
~/.tmux.confへ、背景色をグレーにするために、以下の設定を追加します。
また、左右の表示が途中で切れないように表示文字数をデフォルトより多めに設定します。

set -g status-bg colour235
set-option -g status-left-length 100
set-option -g status-right-length 120

3.2 ウィンドウリストを左寄せにする。#

set-window-option -g window-status-current-format "#[fg=colour235, bg=colour27]⮀#[fg=colour255, bg=colour27] #I ⮁ #W #[fg=colour27, bg=colour235]⮀"

3.3 現在のブランチ名を表示する#

以下のコードを、.bashrcまたは.zshrcなどのシェルの設定ファイルの後ろの方へ追加します。

PS1="$PS1"'$([ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#D" | tr -d %) "$PWD")'

再読み込みします。

Terminal window
source ~/.zshrc

あとは、レポジトリのディレクトリへ移動すれば、情報が表示されるはずです。

4. tmux-powerlineの応用設定#

4.1 オリジナル設定の準備#

自分用の設定を記述するためのファイルを準備します。
まずは、tmux-powerlineの表示項目を設定するためのファイルであるtmux-powerline/mytheme.shを作成します。

Terminal window
cd tmux-powerline/
cp themes/default.sh themes/mytheme.sh

次に、環境変数やユーザ設定を記述するための~/.tmux-powerlinercを作成します。

Terminal window
cd tmux-powerline/
./generate_rc.sh
mv ~/.tmux-powerlinerc.default ~/.tmux-powerlinerc

4.2 天気を表示する#

~/.tmux-powerlinerc を開き、TMUX_POWERLINE_SEG_WEATHER_LOCATIONに表示したい場所のコードを入れます。
東京なら、以下のコードになります。

Terminal window
export TMUX_POWERLINE_SEG_WEATHER_LOCATION="26237038"

場所のコードは、yahoo.comの天気ページにて、URLの一番右にある数字を利用します。
http://weather.yahoo.com/japan/tokyo-prefecture/tokyo-26237038/

4.3 ネットワーク情報を表示する#

tmux-powerline/segments/ifstat_sys.shを開き、モニタリングしたいネットワークのインターフェイス名に変更します。
デフォルトではwlan0となっています。インターフェイス名は、ifconfigコマンドなどで確認出来ます。

Terminal window
iface="eth"

bcコマンドが必要になるため、bcコマンドが無い場合はインストールする必要があります。

Terminal window
sudo aptitude install bc -y

そして、tmux-powerline/themes/mytheme.shを開き、以下の行のコメントアウトを外します。

"ifstat_sys 30 255"

4.4 色の変更#

GNU screenでは色の変更がすごい大変でしたが、tmuxではとても簡単です。

まず、オリジナルの設定を用いるために、 ~/.tmux-powerlinerc のTMUX_POWERLINE_THEMEをmythemeに設定します。

Terminal window
export TMUX_POWERLINE_THEME="mytheme"

以下のコマンドを実行するとカラーコードが表示されます。

Terminal window
~/tmux-powerline/color_palette.sh

ブランチの記号のコントラストが変なので、tmux-powerline/themes/mytheme.shを開き、88から253へ変更します。
第1引数が背景で、第2引数が文字色です。

"vcs_branch 29 253" \

また、~/tmux-powerline/segments/vcs_branch.shを開き、こちらにも設定があるので5を253に変更します。

Terminal window
git_colour="253"

4.5 地震情報を表示する#

.tmux-powerlinercを開き、地震情報のコメントアウトを外します。デフォルトでは日本中の地震情報から拾ってきます。

"earthquake 3 0" \

Screenshot_2013_02_16_11_22

4.6 その他#

gmailの未読数や、macの場合はitunesの再生中の曲などを取得できます。

5 まとめ#

5.1 やったこと#

tmux-powerlineを使ってかっこよくて使い勝手の良いシェルを作りました。

setting_done

良い点#
  • **tmux-powerlineを使えば、シェルスクリプトさえ用意すれば自分の欲しい情報が簡単に表示できる。(**アイディアとしては、株価や、為替表示とか、1時間前の売り上げ情報とか)
  • tmuxのパフォーマンスは良い。
  • 11MBのテキストをcatした時間をベンチマーク
  • GNU screen: 50s
  • byobu: 25s
  • tmux: 15s
  • 無し: 3s
悪い点#
  • シェルスクリプトが頻繁に動いているので、計算リソースを多少食う
  • tmux-powerlineプログラム自体と設定が明確に分かれていない。

5.2 補足資料#

4まで行った設定ファイルの結果
https://gist.github.com/matsubo/4746629

tmuxの基本操作はこちら
「screen(だけ)の時代は終わり。tmuxでリモートコンソールを便利に使うTips」
http://blog.asial.co.jp/881

一番最初にあるスクリーンショットに掲載してある設定を行ってある私の設定ファイル達
https://github.com/matsubo/matsu-shell-setting

このエントリーをはてなブックマークに追加

tmuxとtmux-powerlineの設定でかっこよくする
https://blog.teraren.com/posts/moteru-tmux-powerline/
作者
Yuki Matsukura
公開日
2013-02-10
ライセンス
CC BY-NC-SA 4.0

コメント