Linuxユーザーは、新旧問わず、誰もがキャリアの中で一度はこんな問題に遭遇したことがあるでしょう。ターミナルセッションを開いて、長時間にわたる非常に重要なタスクを実行しているのに、別のタスクをこなさなければならない。そこで、別のターミナルを開くしかない、そう思いませんか?もちろん、SSH経由でも同じようにできますが、もっとスマートな方法があります。それはTmux(ターミナルマルチプレクサ)を使う方法です。
Tmux は、セッション >> ウィンドウ >> ペイン プロセスを使用して、複数のターミナル タブ (Windows) を開くことができるワークスペース (セッション) を提供し、それらのウィンドウをさらに細分化された領域 (ペイン) に分割することができます。
では、Tmux を使い始めるにはどうすればよいのでしょうか。また、Tmux で何ができるのでしょうか。
最初のTmuxセッションを作成する
この最初のセクションでは、作業に使えるTmuxセッションを作成します。ただし、Tmuxを使用する前に、インストールする必要があります。
1.ターミナルを開き、ソフトウェア リポジトリを更新して、Tmux をインストールします。
sudo apt update && sudo apt install tmux
2. Tmux コマンドを実行して、Test_Session という新しい名前付きセッションを開始します。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
tmux new -s Test_Session
3. sleep コマンドを使って、ターミナルを30秒間強制的に停止させます。このコマンドを使ってTmuxセッションを固定し、複雑で時間のかかるタスクを実行している様子をシミュレートします。
sleep 30
4. Ctrl + B を押してから d を押してセッションを切断します。元のターミナルウィンドウに戻ります。
5. Tmux セッションに再度接続します。
tmux attach -t Test_Session
6. CTRL + Bを押してセッションから切断し、次にdを押します。
7. Another_Sessionという別のセッションを作成します。これで、現在接続中のセッション(Another_Session)と、以前のセッション(Test_Session)の2つのセッションが実行されるはずです。
tmux new -s Another_Session
8.すべてのセッションを一覧表示します。接続された(現在アクティブな)セッションが明確に識別されます。
tmux ls
9.元の Test_Session に切り替えます。
tmux switch -t Test_Session
10.セッションを一覧表示すると、接続されたセッションが Test_Session になっていることがわかります。
tmux ls
11. Another_Session を終了します。
tmux kill-session -t Another_Session
スワイプして水平にスクロールします
指示 | 説明 | 例 |
---|---|---|
tmux | 新しい Tmux セッションを開始します。 | tmux |
tmux 新規 -s 名前 | 新しい名前付き Tmux セッションを開始します。 | tmux new -s ファイルコピー |
tmux ls | すべての Tmux セッションを一覧表示します。 | tmux ls |
tmux デタッチ | 現在のセッションから切断します。Ctrl + B を押してから D を押すことでも切断できます。 | tmux デタッチ |
tmux アタッチ -t 名前 | 実行中のセッションに接続します。 | tmux アタッチ -t ファイルコピー |
tmux スイッチ -t 名前 | 実行中の別の Tmux セッションに切り替えます。 | tmux スイッチ -t リソース |
tmux キルセッション -t 名前 | 名前付きセッションを終了します。 | tmux キルセッション -t ファイルコピー |
Tmuxウィンドウの使用
各Tmuxウィンドウは本質的に独立したシェルであり、それらを使ってTmuxセッション全体のタスクを切り替えることができます。例えば、長時間実行セッション用のウィンドウと、ログ確認用のウィンドウを分けることができます。
Tmux セッションで Windows を使い始めましょう。
1. Tmuxセッションに再度アタッチします。セッションが強制終了されている場合は、「セッション」セクションの手順2に従って再作成してください。
tmux attach -t Test_Session
2. Ctrl + B を押してから c を押して新しいウィンドウを作成します。新しいウィンドウの名前は最初のウィンドウと同じ「bash」です。
3. Ctrl + B キーを押して現在のウィンドウの名前を「Logs」に変更し、ファイル名が変更されたら Enter キーを押します。左下のウィンドウリストが更新され、新しい名前が表示されていることを確認してください。
4. Ctrl + B を押してから w を押すと、すべてのウィンドウが一覧表示されます。矢印キーを使って任意のウィンドウを選択し、Enter キーを押すと選択したウィンドウに切り替わります。または、Ctrl + B を押してから n キー(次のウィンドウ)または p キー(前のウィンドウ)を押すと、ウィンドウを順番に切り替えることができます。
5. Ctrl + B を押してから & を押して、現在のウィンドウを閉じます。ここでは、ログウィンドウは不要になったため閉じています。
スワイプして水平にスクロールします
キーの組み合わせ | 説明 |
---|---|
Ctrl + Bを押してからCを押す | 新しいウィンドウを作成します。 |
CTRL + Bを押してから、 | 現在のウィンドウの名前を変更します。 |
Ctrl + Bを押してからwを押す | ウィンドウをリストし、矢印キーと Enter キーを使用して選択します。 |
Ctrl + Bを押してからnを押します | 次のウィンドウ。 |
Ctrl + Bを押してからpを押します | 前のウィンドウ。 |
CTRL + Bを押してから&を押します | 現在のウィンドウを閉じます。 |
Tmux ペインを使用してウィンドウを分割する
任意のウィンドウを複数のペインに分割できます。そのため、他のターミナル作業をしながらログを監視する必要がある場合でも、分割が可能です。
1. Tmuxセッションに再度アタッチします。セッションが強制終了されている場合は、「セッション」セクションの手順2に従って再作成してください。
tmux attach -t Test_Session
2. CTRL + B を押してから % を押すと、ウィンドウが垂直に分割され、同じサイズの 2 つの列が表示されます。
3. Ctrl + B を押してから “ を押すと、現在のペインが水平に分割されます。これは、出力を常に監視する必要がある長いコマンドを実行する場合に便利です。例えば、rsync ファイル転送などです。
4.ペインを切り替えるには、Ctrl + B を押してから o を押します。または、Ctrl + B を押してから ; を押すと、最後の2つのペインを切り替えることができます。
5. Ctrl + B を押してから x を押すと、現在選択されているペインが閉じます。Y と Enter を押して閉じることを確認してください。
6. Ctrl + B を押し、次に q を押して、ジャンプ先のペインの番号を押します。素早く操作しましょう!
7. Ctrl+Bを押してから矢印キーを押すと、現在選択されているペインのサイズを変更できます。サイズを微調整するには、キーを繰り返し押す必要があります。
スワイプして水平にスクロールします
キーの組み合わせ | 説明 |
---|---|
Ctrl + Bを押してから%を押します | 垂直に分割します。 |
Ctrl + Bを押してから「 | 水平に分割します。 |
Ctrl + Bを押してからoを押します | 次のペインに切り替えます。 |
CTRL + B を押してから ; を押します。 | 最後の 2 つのペインを切り替えます。 |
Ctrl + Bを押してからxを押します | 現在のペインを閉じます。 |
Ctrl + Bを押してからqを押す | ペイン番号を表示します。番号を押すと、そのペインにジャンプします。 |
CTRL + Bを押したまま、◀▶🔼🔽(矢印キー)を押します | ペインのサイズを変更します。 |