今回はLinuxで使用されているtmuxというソフトについて説明します。
tmuxとは端末多重化ソフトウェアと呼ばれており、主な機能の一つとしてLinuxでのCUI操作画面を分割することができます。
tmuxがインストールされていればプロンプトに「tmux」と入力してEnterを押せば起動できます。
tmuxがインストールされていない場合は「yum install tmux」等のコマンドにてインストールを行う必要が有ります。
試しにtmuxを起動して画面を3分割してみます。
上記画像のように3画面分割されており、それぞれの画面で別の内容を表示することが可能です。
例えば下記画像のように3画面とも別々の内容を表示することができます。
上記画像は上の画面で「top」コマンドを実行し、左下の画面で「ps」コマンドを実行し、右下の画面で「vi」エディタを起動しています。
Windowsでいうとウインドウを画面上に複数並べて作業しているのと同じ感じです。
tmuxは通常のCUI画面での操作やvi等のテキストエディタ操作とは操作方法が異なっている部分が多いので、基本操作を下記に示します。
最初にCtrl+bを押して、下記入力で派生する。
→% ・・・ 左右に分割
→" ・・・ 上下に分割
→[ ・・・ コピーモード
→s ・・・ セッションの一覧
→d ・・・ セッションをデタッチ
→a ・・・ セッションにアタッチ
→c ・・・ 新規ウインドウを作成
→0-9 ・・・ ウインドウの一覧
→n ・・・ 次のウインドウへ移動
→上下左右キー ・・・ 指定方向の画面へ移動
上記にあるtmuxの操作説明について、セッションやウインドウ等の用語が出てくるのでそのイメージ図を下記に示します。
上記のようにターミナルがいつものLinux上のCUI画面で、そこからセッション→ウインドウ→ペインと細かく画面を分割するシステムになっております。
つまりペインはウインドウに含まれ、ウインドウはセッションに含まれているといった考え方になります。
なので複数ペイン、複数ウインドウを起動し、並列で作業をすることが可能です。
またtmuxはサーバーにインストールされていればssh接続によってサーバーに接続し、遠隔でtmuxを操作することも可能です。
そして例えばssh接続したターミナルで作業中にサーバーがフリーズしてしまい、ssh接続が切れてしまった場合、通常であれば強制的にログアウト処理がされるため、作業途中だった場合は保存されません。
しかしtmuxはセッションを記憶することができるので、サーバーでtmuxを起動していればssh接続が切れてしまっても再度tmuxのセッションにアタッチすることで、フリーズ前の作業途中だった画面を立ち上げることができます。
最後に下記コマンドにて現在のセッションを終了することができます。
tmux kill-session
参考資料
・【入門】tmux始めてみる | amateur engineer's blog (amateur-engineer-blog.com)