Cloud n にオールインワンサーバを立てる 5
tmux は SSH 接続の端末をサーバ側でタブ化するアプリだ。
具体的に言うと、 Teraterm でサーバに接続して tmux コマンドを打つと、 tmux の仮想端末が立ち上がる。
見かけ上は tmux を打つ前とほとんど同じなので、知らない人からすれば何が起こったか分からないに違いない。しかし画面下の方を見ると「0:bash*」 とか書かれているのが目に入る。
これが仮想端末だ。仮想端末は複数作ることができる。あらかじめ tmux を起動しておき、例えばコンパイルに長い時間がかかって途中で止められない、といった時にその場でもう一つの仮想端末を作成 (「CTRL + b」 の後に c を押す) し、別の作業に取り掛かることができる。
仮想端末を終了したい場合、 exit コマンドを打つか、 「CTRL + d」を押せばいい。全ての仮想端末で exit すれば、元のシェルのコマンドプロンプトに戻る。
tmux のインストールと使い方
# yum -y install tmux
これだけで tmux はインストールされる。
あとは、ユーザごとに tmux を起動できる。
実際使ってみれば便利さが分かるだろう。使い方も難しくない。
tmux のキー
・ 新しい screen を立ち上げる
Ctrl + b c (create と覚える)
・ screen の終了
Ctrl + d
・ screen間 の移動
Ctrl + b n (次のscreenへ)
Ctrl + b p (前のscreenへ)
Ctrl + b N (任意の番号のscreenへ)
・ ペイン分割
Ctrl + b % (縦分割)
Ctrl + b ” (横分割)
・ 分割したペイン間の移動
Ctrl + b 矢印キー(上下左右いける)
・ (分割した)ペインを閉じる
Ctrl + d
$ exit コマンドでも OK
・ 表示される screen 名を変更する
Ctrl + b ,
・ tmux のデタッチ (起動中の screen のセッションはそのままに、シェル画面に戻る)
Ctrl + b d
・ セッションを確認
$ tmux ls 0: 4 windows (created Thu Dec 18 23:44:53 2014) [94x29] 1: 2 windows (created Thu Dec 18 23:45:56 2014) [94x29]
・ セッション名のリネーム $ tmux rename -t 0 "hogehogehoge" ・ 確認 tmux ls 1: 2 windows (created Thu Dec 18 23:45:56 2014) [94x29] hogehogehoge: 4 windows (created Thu Dec 18 16:44:53 2014) [94x29]
・ tmux のアタッチ (最後のセッションを開く) $ tmux a
・ セッションを指定してアタッチ $ tmux a -t "hogehogehoge"
tmux ファイルを編集するための vim の syntax 設定
vim の使用例と言うことで、超蛇足だが ~/.tmux.conf を 編集する際に tmux 設定ファイル用のカラー表示をしてみる。
vim の設定が終わっているものとして、 tmux 用の syntax ファイルをダウンロードする。
# cd /usr/share/vim/vim72/syntax/ # wget https://stuff.mit.edu/afs/athena/project/bsd/src/tmux-1.3/examples/tmux.vim
基本的にはこれだけで tmux カラーの準備ができたことになる。
次に vim の tmux シンタックス適用方法だが、 tmux のコンフィグファイルがなければ無用の長物となるため、簡単なものを作成する。
$ vi ~/.tmux.conf
以下の内容を貼り付ける。
- # Option
- set-window-option -g mode-keys vi
- set-window-option -g automatic-rename off
- set-option -g mouse-select-pane off
- set-option -g base-index 1
- # Key Bindings
- bind C-r source-file ~/.tmux.conf
- # Status Line
- set -g status-interval 5
- set -g status-bg white
- set -g status-right "#(w | head -1 | cut -d, -f4) | %Y/%m/%d (%a) %p %I:%M"
- setw -g window-status-format "#I:#W"
- setw -g window-status-current-format "#I:#W_#P"
- setw -g window-status-current-fg black
- setw -g window-status-current-bg white
- set-window-option -g xterm-keys on
以下が実際の画面になる。
この時、 vim の画面で
:set syntax=tmux
と打つと tmux 用のシンタックスに変更される。
美しい。
これ以外にも、シンタックスファイルは /usr/share/vim/vim72/syntax/ 内にあるものが利用できる。
$ vi perlsource.pl
したときに、 perl 用の色合いになっていなければ、
:set syntax=perl
とすることでソースコードが綺麗に色分けされるはずだ。
というわけで、 tmux のコンフィグファイルが編集しやすくなったところで保存して終了すれば tmux の起動画面や挙動がカスタマイズされる。。