windowsで開発するのは苦痛なので、頑張って覚える・・・
調べれば出るので、メモ書き程度。
アタッチとデタッチはtmuxプロセスと普通のコンソールの切り替えみたいなイメージ。
(プログラムのデバッガなどでアタッチする、というと、動作中のプロセスの動きをデバッガから見れる・いじれる状態にするような感じなので、そういう用語という認識)
ウィンドウを最初セッションとして読んでいたけど、list-sessionsで表示すると、2 windowsといった感じに出るので、以下のように読み替えることにした
- tmuxプロセス => セッション
- tmuxセッション => ウィンドウ
複数セッション・ウィンドウを作ると、以下のような構成になる。
- (root)
- [session-0]
- [window-0]
- [window-1]
- [session-1]
- [window-0]
- [window-1]
- [session-0]
操作メモ
- tmux コマンドで最初のセッションを作る(自動的にウィンドウも作られる)
- exit(bashプロセス終了)などすると、tmuxも終了して、tmuxを呼び出した画面に戻る。
- Ctrl-b + [...] でtmuxに対してコマンドを発行する(Ctrl-bはCtrlキーとBキーの同時押し)
- Ctrl-b + d で現在のセッションをデタッチして前の画面に戻る(tmuxを呼び出した画面。前のセッションではない。)
- デタッチしてもセッション内で実行したプロセスは生きている。
- Ctrl-b + c で新しいウィンドウを作る。exitなどで処理が終了すると、前のウィンドウに戻る。
- Ctrl-b + "(Shift-2) で垂直分割をして新しいウィンドウを作る。
- Ctrl-b + d で現在のセッションをデタッチして前の画面に戻る(tmuxを呼び出した画面。前のセッションではない。)
デタッチした後でも、(プロセスが生きていれば)アタッチすることができる
- tmux list-sessions で現在のセッションの一覧を表示
- [セッションID?] [現在のセッション数] [作成日時]
- tmux attach -t [セッションID] で該当のセッションにアタッチできる。