tmux

ターミナルマルチプレクサの1つ.

1端末上で(見た目上)複数の端末を起動できる.
1画面を複数のペインに分割可能.
手元のマシンからsshでサーバにアクセスし,サーバ上のtmux上でプログラムを走らせているとき,デタッチすれば手元の環境は電源切っても大丈夫.
手元の環境が不意に落ちても(サーバが落ちていない限り)プロセスは生きている.

とにかくこいつ無しではお話にならない.
他のターミナル上マルチプレクサにはScreenなどがある.

導入

% sudo apt-get install tmux

実行

% tmux
で立ち上がる.

[prefix]はデフォルトではC-b

デタッチ/アタッチ

tmux上で[prefix] dでデタッチ.
tmux起動前の画面に戻る.

デタッチされたセッションがあるときに
% tmux a
でアタッチ.
セッションが存在しないと
no sessions
と表示されて悲しい気持ちになる.

基本操作

 [prefix] c
 新しいウィンドウの作成
 [prefix] n/p
 ウィンドウを順/逆方向に移動
 [prefix] w
 ウィンドウ一覧
 [prefix] ,
 ウィンドウに名前をつける
 [prefix] "
 ペイン分割(横)
 [prefix] %
 ペイン分割(縦)
 [prefix] o
 ペイン間移動
 [prefix] t
 時計を表示

prefixの変更

Emcas使いにとっては[prefix]がC-bなのは辛い.
よって早急に変更すべきである.

何に変更するかは人それぞれだが,私はC-jにした.

なお,Emacsのnewline-and-indentとかぶってしまうので,
EmacsではC-mを代わりにnewline-and-indentとしてる.
デフォルトである単体のnewlineはあまり用途がないと考えている.

設定の方法は以下の通り
~/.tmux.confを作成,以下のように記述(prefixをC-jに変える場合)
unbind C-j
unbind C-b

set-option -g prefix C-j
tmuxを再起動すれば反映される.

おまけ

マトリックスっぽいスクリーンセーバ

cmatrixというコマンドでマトリックスっぽい画面がでる.
導入は
% sudo apt-get install cmatrix

オプションで色や文字が流れるスビード等が指定できる.
試行錯誤の結果,手元の環境では次のオプションがいい塩梅である.
% cmatrix -sab -u 4

tmuxのスクリーンセーバにするには~/.tmux.confに次を追記する.
set -g lock-after-time 600
set -g lock-command "cmatrix -sab -u 4"
tmux起動時に10分間操作しないと,スクリーンセーバが表示され,
マトリックスっぽい画面になる.

なお,即座にスクリーンセーバを表示したい場合はtmuxセッションに接続中に
% tmux lock

Comments