tmuxについて

tmuxはターミナルマルチプレクサです。 複数の仮想端末を使用してtmux端末にアクセスできます。

tmuxは、端末をtmuxセッションに接続できるクライアントサーバーモデルを利用します。

これは、新しい実際のターミナルセッションを生成することなく、単一のtmuxセッションから同時に複数のターミナルを実行できることを意味します。

これは、tmuxを実行しているクラウドサーバーから突然切断しても、tmuxセッション内で実行されているプロセスが強制終了されないことも意味します。

tmuxにはウィンドウペインの考え方も含まれています。つまり、1つの画面で複数の端末を実行できます。

クライアントサーバーモデルとウィンドウペインの考え方の長所については、以下でさらに説明します。

VPSへのtmuxのインストール

VPSにtmuxをインストールする前に、aptを更新して、最新のパッケージを確実に入手することをお勧めします。

	<pre>sudo apt-get update</pre>

次に、tmuxをインストールします。

	<pre>sudo apt-get install tmux</pre>

基本的な使用法

新しいtmuxセッションを開始するには:

	<pre>tmux</pre>

tmuxは、ユーザーアカウントを使用してデフォルトのシェルに自動的にログインします。

1つの違いは、画面の下部にあるtmuxステータスラインの外観です。 現在のtmuxセッションに関する情報が表示されます。

そのままでは、まったく新しい端末のように扱うことができます。 実際、これはtmux内から実行される新しい端末にすぎません。

この新しい端末は、tmuxのコンテキストではwindowと呼ばれます。 ‘でウィンドウを2つのペインに分割しましょう。

tmuxは、プレフィックスキー(デフォルトではCtrl-b)とコマンドキーを使用して制御できます。 2つのペインに分割するコマンドキーは%です。 tmux内から:

	<pre>Ctrl-b %</pre>

ウィンドウは2つのペインに分割されます。 最初のペインは、分割前の作業を保持します。 2つ目は、新しい端末にログインします。

2番目のペインを水平に分割できます。

	<pre>Ctrl-b "</pre>

これで、ウィンドウに3つのペインが表示されます。 次のようになります。

three panes

次のペインに切り替えるには(ペインには左から右、上から下に番号が付けられます):

<pre>Ctrl-b o</pre>

exitを使用してシェルを終了すると、関連するペインが破棄されます。 隣接するペインは、解放されたスペースを利用するために拡張されます。

最後のペインを閉じると、tmuxが終了します。

Windowsの使用

ペインの上のコンテキストのステップはウィンドウです。 Windowsは、ブラウザのタブと同じように動作します。

tmuxが起動すると、ウィンドウとウィンドウ内の単一のペインが表示されます。

新しいウィンドウを作成するには:

	<pre>Ctrl-b c</pre>

tmuxは自動的に新しいウィンドウに切り替わります。 ステータス行に新しいウィンドウが表示されます。 ウィンドウには0から番号が付けられているため、新しいウィンドウは1番です。

これで、ペインを作成して、このウィンドウを以前と同じように扱うことができます。 別のウィンドウを作成することもできます。 3つのウィンドウには、0、1、および2の番号が付けられています。

インデックスの次のウィンドウに移動するには:

	<pre>Ctrl-b n</pre>

インデックスを後方に移動するには:

	<pre>Ctrl-b p</pre>

Windowsは、ペインよりも具体的な分離を提供します。 2つのウィンドウが同時に表示されることはありません。

クライアントサーバーモデルの活用

tmuxを呼び出すと実際に何が起こるかは、最初に表示されるよりも複雑です。 tmuxは実際に新しいセッションを作成します。 次に、セッションで単一のウィンドウが作成されます。 ウィンドウに単一のペインが作成されます。

tmuxが呼び出されると、新しいセッションが作成されます。 これは、最高レベルのコンテキスト封じ込めです。 tmuxの単一のインスタンスが単一のセッションにリンクされています。

セッションの最後のウィンドウの最後のペインで最後のシェルを終了すると、セッションは終了します。 セッションを完全に終了する代わりに、セッションから_切り離す_ことができます。

セッションはバックグラウンドで実行され続け(tmuxはバックグラウンドにフォークします)、デタッチしたときにセッションにあったシェルを実行します。

後でセッションに再接続すると、切断したときと同じ状態でセッションに戻ります。 すべてのウィンドウとペインはセッションによって保持されます。

これは、VPSに接続したままでなくても、仮想プライベートサーバー上でプロセスを実行できるようにする場合に特に便利です。

セッションから切り離すには:

	<pre>Ctrl-b d</pre>

セッションに再接続するには:

	<pre>tmux attach -t [session name]</pre>

ウィンドウと同様に、セッションには0から始まる番号が付けられます。 接続するセッションを忘れた場合は、アクティブなセッションを表示できます。

	<pre>tmux list-sessions</pre>

すべてのコマンドキーのリストには、次のコマンドでアクセスできます。

	<pre>Ctrl-b ?</pre>