メモ: tmuxの制御

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

tmuxにおけるコマンドによる外部からセッション制御等のメモ

# パネルの指定方法: TestSession:0.0
[SessionName]:[WindowIndex].[PaneIndex]

# SessionName で新たにtmuxセッションをバックグランド(-d)で開始
tmux new -d -s [SessionName]

# SessionName を持つtmuxセッションに対して新規ウインドウをバックグランド(-d)で追加
tmux new-window -d -t [SessionName]

# SessionName を持つtmuxセッションのウインドウ WindowIndex を縦分割(-h)
tmux split-window -h -t [SessionName]:[WindowIndex]

# SessionName を持つtmuxセッションのウインドウ WindowIndex のペイン0にKey入力
# Ctrl-C
tmux send-keys -t [SessionName]:[WindowIndex].0 C-c
# Enter
tmux send-keys -t [SessionName]:[WindowIndex].0 Enter
# "echo 'abcd'"を実行
tmux send-keys -t [SessionName]:[WindowIndex].0 "echo 'abcd'" Enter

特定のセッション(TestSession)のウィンドウ一覧を指定のフォーマットで取得する場合

# #Sはセッション名、#Iはウィンドウインデックス、#Pはペインインデックス
for windex in $(tmux list-windows -F '#S:#I' -t TestSession)
do
  echo $windex
done