tmux
(terminal multiplexer)



    2012.06 harutsugu shimoji

                1
agenda
tmuxだと何がうれしい?

デモ

社内で使うには?

おまけ




           2
tmuxだと何がうれしい?(1)
ながら作業

  画面分割して負荷やログを監視しながら

いつ終わるかわからないバッチ処理

  デタッチして帰れる

作業途中で回線切れ

  アタッチして作業をつづきから

        3
tmuxだと何がうれしい?(2)
多数のサーバで同時に作業

  ウインドウ作成してテンポよく

  ブロードキャストもできるよ

教育の一環&ダブルチェックに使える

  マルチアタッチモード



        4
demo
画面分割

 使うコマンド
 ・縦分割: split-window -h (C-z |)
 ・横分割: split-window -v (C-z )
 ・pane移動: C-z o , C-z ←→↑↓




               5
demo
デタッチ&アタッチ

 使うコマンド
 ・デタッチ: detach-client (C-z d)
 ・アタッチ: attach-session (a)




              6
demo
多数のサーバで同時に作業
ウインドウ作成

 使うコマンド
 ・ウインドウ作成: new-window (C-z c)
 ・ウインドウ作成&ssh: sssh
 ・ウインドウ移動: ←→



            7
demo
  多数のサーバで同時に作業
  ウインドウ作成



for h in server{101..172} ; do sssh $h ; done




                      8
demo
多数のサーバで同時に作業
ブロードキャスト

 使うコマンド
 ・tmux set-window-option 
   synchronize-panes on




               9
社内で使うには?
インストール

 設置して、パスを通すだけ。
 ・tmux本体と必要なファイルをゲット
  清水くんの ~/tmux をコピーすればOK
 ・パスを通す(bash)
   export PATH=$PATH:~/tmux/bin
   export LD_LIBRARY_PATH=LD_LIBRARY_PATH:~/tmux/lib



                      10
おまけ

今回紹介したデモのキーバインド

~/.tmux.confに下記を記入
 set-option -g prefix C-z
 unbind-key C-b
 bind-key C-z send-prefix

 bind-key | split-window -h
 bind-key  split-window -v

 bind -n Right next-window
 bind -n Left previous-window
 bind -n Up copy-mode

 set-option -g base-index 1
                              11
おまけ

ssshコマンド
ssshに下記を記入し、パスを通す
  ex. ~/bin/にssshファイルを設置し、
     export PATH=$PATH:~/bin

(ssshの中身)
#!/bin/bash
tmux new-window -n $@ "exec ssh $@"



                 12

Tmux