tmuxの導入と注意点

tmuxはTerminal Multiplexer(端末多重化)の略で、screenと同系統のアプリケーションです。
職場の同期から話を勧めらたことから存在を知り、縦分割が出来たりしてscreenよりも優れているなと感じたのでvpsに導入してみました。

動作例は公式ページのスクリーンショットなんかを見ていただくと良いかと思います。

導入

CentOSの場合、rpmforgeをリポジトリに追加していればyumからインストールできます。

# sudo yum install tmux

設定ファイルやショートカットキーについては以下のページが参考になるかと思います。
GNU Screen から tmux へと移行した - まちゅダイアリー(2013-01-12)
tmux の設定 | VPS情報局


基本的には.tmux.confという設定ファイルを作ればOKです。tmux起動中にキーバインド+

: source-file ~/.tmux.conf

と打てば設定ファイルを読みこめます。

一応私の設定ファイルも晒します。キーバインドを今まで使っていたscreenの設定に合わせた程度にしかしていません。
config/.tmux.conf at master · fakeyakuza/config · GitHub

注意点

tmuxでウィンドウやペインを生成しまくると

create window failed: : No such file or directory

というようなエラーが出ます。
セッションを沢山生成したときにもでます。

% tmux
create session failed: : No such file or directory

これは仮想端末の数の制限に引っかかった場合に発生するエラーです。
現在の仮想端末数とその制限を確認するには以下のコマンドを実行します。

% sudo cat /proc/user_beancounters
Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
    45692:  kmemsize                 10031940             11779827             17782620             18415124                    0
            lockedpages                     0                    0                  256                  256                    0
            privvmpages                 28011                88593               262144               278528                    0

            (省略)

            numpty                          3                    8                    8                    8                   54
            
            (省略)

ここのheld の値がlimitに達するとそれ以上ウインドウやペインは作れないし、セッションも作れません。格安vpsなどの制限された環境で使う際にはお気をつけください。

参考ページ
PTY allocation request failed on channel 0 - yokochiの開発メモ

さてさてこのtmux、職場でも早速使いたいなぁ考えています。