tmuxを使用すると、1つのウィンドウからすべて同時に開いたり閉じたり(切り離したり)したり、同時に表示したりできる複数のターミナルセッションを作成できます。
ターミナルマルチプレクサの使用方法を学ぶことで、ターミナルで多くの時間を費やす場合の頭痛の種を大幅に減らすことができます。これは、コマンドラインのみを介してリモートマシンにアクセスする作業の場合に特に当てはまります。
Tmuxは、GNUScreenマルチプレクサからの次の進化のステップであると考えられています。
画面コマンドに慣れている場合は、すぐに始めるのが簡単です。 2つのアプリケーションの間には多くの類似点があります。画面コマンドの記事に対して素晴らしい反応があり、読者はtmuxの更新された機能のいくつかを本当に楽しんでいるように感じます。
すでにscreenコマンドに慣れている場合は、この記事をすばやくスキャンして違いを確認できます。一部のコマンドについては、類似点または相違点を指摘する場合があります。これらのメモを除いて、この記事は以前の知識を前提とはしていません。
少し迷って、この記事の内容がまだわからない場合は、まったく問題ありません。すべてを一緒に見ていきます。 tmuxのインストール方法と基本的な操作の実行方法を紹介します。
tmuxをインストール
Tmuxは人気のあるアプリケーションであり、Linuxディストリビューションの公式リポジトリで利用できるはずです。ディストリビューションのパッケージ管理を使用してインストールできます。
DebianおよびUbuntuベースのディストリビューションでは、次のコマンドを使用してインストールできます。
sudo apt install tmux
tmux入門
触れたように、tmuxは生産性を高めるための優れたアプリケーションです。これは強力なソフトウェアですが、使い始めるのが少し混乱する可能性があります。
重要な機能を1つずつご案内します。私の目標は、あなたを楽にして、基本的な機能を紹介することです。 tmuxをカスタマイズする方法はたくさんあるので、この記事ですべてを網羅することはできません。高度な機能に関する記事に興味がある場合は、コメントセクションでお知らせください!
tmuxでセッションを作成
ターミナルを開き、次のコマンドを使用します。
[email protected]:~$ tmux
これでtmuxが表示されます。通常どおりコマンドプロンプトが表示されますが、ターミナルの下部にbash0*のようなタスクバースタイルのメニューが表示されます。 アスタリスクは、これがアクティブなウィンドウであることを示します 。
切り替え可能なウィンドウをいくつか作成しましょう。これを行うには、プレフィックス [ctrl + b] + cを使用します 。
タスクバーに1:bashという名前の何かが表示されるはずです。 追加されました。先に進む前に、さらに2つ追加しましょう。
これで、以下のスクリーンショットのようになります。合計4つの新しいターミナルウィンドウが必要です(一度に表示されるウィンドウは1つだけです)。
Tmuxは実際に特定のプログラムを識別し、ウィンドウの名前を自動的に変更できます(ウィンドウに明示的に名前を付けていない場合)。たとえば、ウィンドウでtopコマンドを実行すると、ウィンドウ名がbashからtopに変更されていることがわかります。
tmuxのセッションvsウィンドウvsペイン(分割)
先に進む前に、tmuxのセッション、ウィンドウ、ペインの違いを知っておく必要があります。
セッションをノートブック、ウィンドウをチャプター、ウィンドウペインをページと見なします。
セッションは複数のウィンドウを持つことができます。ウィンドウは基本的にターミナルです。ウィンドウを複数の垂直ペインと水平ペインに分割できます。これは、ターミナルウィンドウに複数のターミナルを含めることができることを意味します。
特定のトピック/プロジェクトのtmuxセッションを作成できます。たとえば、3台のサーバーを管理している場合、サーバーごとに1つのセッションを作成してタスクを実行できます。システムリソースを監視するためのウィンドウと、いくつかのメンテナンスタスクを実行するためのウィンドウを使用します。システム監視ウィンドウには、メモリ、CPU、およびディスクの使用状況を監視するための複数のペインを含めることができます。
tmuxセッションでウィンドウを切り替える
ctrl + b(同時に)は「tmux」キーのようなものであることを忘れないでください。コマンドを入力することをソフトウェアに通知します。下の表を見て、tmuxインターフェースのナビゲートを開始してください。
前へ | <番目のボックスサイズ:継承; border-right:1px solid var(-color-border); line-height:var(-line-height-base);パディング:var(-gap-sm)var(-gap);">次へ <番目のボックスサイズ:継承; border-right:なし; line-height:var(-line-height-base);パディング:var(-gap-sm)var(-gap); "> n(0、1、2、3など)||
---|---|---|
[ctrl + b] + p | [ctrl + b] + n | nウィンドウに切り替え:[ctrl + b] + 0 |
これで、「前後に」移動したり、ID番号で特定のインスタンスを選択したりできます。快適に感じるまでそれらを試してみてください。
準備?素晴らしい。他の機能のいくつかをチェックしてみましょう。
注:経験豊富なScreenユーザーの場合、[ctrl+a]プレフィックスの使用に慣れている可能性があります。構成ファイルを編集すると、必要に応じてプレフィックスを変更できます。代理キーの組み合わせによって効率が向上したことは実際にわかりましたが、古い習慣を破ることは難しいことも理解しています。
別のオプションは[ctrl+b]+wを使用します。これにより、セッションの概要が視覚的にわかります。矢印キーを使用して、目的のウィンドウ/ペインを選択できます。
tmuxでウィンドウに名前を付けるか名前を変更します
次のキーの組み合わせを使用して、現在のウィンドウに名前を付けることができます。
[ctrl+b] + ,
tmuxセッションに名前を付けます
物事を整理するために、意味のあるタイトルでセッションに名前を付けると役立つ場合があります。 tmuxで最初のセッションに名前を付けてみましょう。
好きな名前を付けることができますが、この場合は無料で名前を付けます。次のコマンドを入力します:
tmux new -s free
これで、tmuxの新しいセッションが実行されているはずです。ウィンドウの左下の領域を見ると、一般的な「bash」ではなく、セッションの名前が表示されます。
すでにセッションを作成している場合は、次のキーの組み合わせを使用して、セッションに名前を付けるか、名前を変更できます。
[ctrl+b] + $
セッションをデタッチします(tmuxセッションから出ますが、バックグラウンドで実行し続けます)
続行する前に、2秒ごとに結果を更新するwatchコマンドを使用して無料で実行を開始しましょう。
watch free
freeまたはwatchに慣れていない場合は、watchandfreeコマンドを確認することをお勧めします。ただし、それらの機能に関する知識は、tmuxでそれらを使用するために必須ではありません。
さて、プログラムが開始したら、先に進んでセッションを切り離します。このキーの組み合わせを使用します:
[ctrl + b] + d
これにより、標準のコマンドプロンプトに戻ります。 tmuxセッションはまだバックグラウンドで実行されており、いつでも再入力できることに注意してください。
tmuxセッションを一覧表示
あなたのセッションはどうなりましたか?まだバックグラウンドで実行されています。名前またはID番号でセッションを再開できますが、セッション名を忘れた場合はどうなりますか?
tmuxにはリスト関数が組み込まれています:
tmux ls
これにより、現在のすべてのtmuxセッションが一覧表示されます。実行すると、次のような出力が生成されます:
[email protected]:~$ tmux ls
free: 1 windows (created Sat Feb 29 03:16:31 2020) [80x23]
ご覧のとおり、セッションにあるウィンドウの数も一覧表示されます。
Tmuxでセッションに再度参加します(アタッチとも呼ばれます)
tmuxセッションを再度開くには、次のようにattachまたはattach-sessionオプションを指定してtmuxコマンドを使用できます。
tmux attach -t session_name_or_number
これは、デモンストレーションのこの時点までのこれらすべてのステップを示すアニメーションです。
tmuxで複数のペインを作成する
基本を理解したので、さらに進んで複数のペインを作成できます。
水平(左/右) | <番目のボックスサイズ:継承; border-right:なし; line-height:var(-line-height-base);パディング:var(-gap-sm)var(-gap); ">垂直(上/下)|
---|---|
[ctrl + b] +% | [ctrl + b] +“ |
垂直分割の後に水平分割を作成して、これらのコマンドを練習してみましょう。
[ctrl + b] + "
[ctrl + b] + %
この順序でコマンドを入力した場合、次のように見える3つのペインが表示されます。
[ctrl + b] +スペースキーを使用して、現在フォーカスされているペインのレイアウトを切り替えることができます。
分割を切り替えるには、tmuxプレフィックス[ctrl +b]+矢印キーを使用できます。
[ctrl+b] + arrow keys
これにより、選択した方向にペインが循環します。選択したペインが緑色で強調表示されます。
[ctrl + b] + zを使用して、選択したペインに「ズーム」することもできます。これにより、選択した画面がフルサイズになります。ズームモードを終了するには、[ctrl + b]+zをもう一度押します。
これは重要なものです。プレフィックス[ctrl+b] + xを使用して、ペイン(分割)を閉じることができます。
確認を求められます:
kill-pane 0? (y/n)
tmuxでウィンドウを強制終了または閉じる
現在のウィンドウ(タブ)を閉じるには、次を使用します:
[ctrl + b] + &
確認を求められます:
kill-window window_name? (y/n)
tmuxでのセッションの強制終了
使用している現在のtmuxセッションを強制終了するには、最初にすべてのウィンドウを強制終了する必要があります。あまり便利ではありませんね
次のように、名前または番号を使用してtmuxセッションを選択的に強制終了できます。
tmux kill-session -t session_name_or_number
セッション内であっても、セッションは強制終了されます。
現在使用しているセッション(または最後に使用したセッション)を除くすべてのセッションを強制終了する場合は、次のコマンドを使用します。
tmux kill-session -a
すべてのtmuxセッションを一度に強制終了するには、次の魔法のコマンドを使用できます:
tmux kill-server
tmuxチートシートをダウンロード
tmuxの基本を学びましたが、特に最初は、すべてのコマンドを覚えるのは簡単ではありません。これが、以下の表のすべてのコマンドを要約している理由です。 PDF形式でダウンロードすることもできます。
コマンド | <番目のボックスサイズ:継承; border-right:なし; line-height:var(-line-height-base);パディング:var(-gap-sm)var(-gap);">説明|
---|---|
tmux | 新しいセッションを開始 |
tmux new -s name | 名前で新しいセッションを開始 |
tmux ls | すべてのセッションを一覧表示 |
tmux kill-session -t name | 言及されたセッションを強制終了します |
tmux kill-session -a | 最後に使用したセッションを除くすべてのセッションを強制終了します |
tmux kill-server | すべてのtmuxセッションを強制終了 |
tmux attach -t name | 上記のセッションをアタッチ/開始 |
[Ctrl + b] + d | 現在のセッションをデタッチ/終了 |
[Ctrl + b] + $ | 現在のセッションに名前を付けるか名前を変更する |
[Ctrl + b] + c | 新しいウィンドウを作成 |
[Ctrl + b] +、 | 現在のウィンドウに名前を付けるか名前を変更します |
[Ctrl + b] + w | すべてのウィンドウを一覧表示 |
[Ctrl + b] +& | 現在のウィンドウを強制終了 |
[Ctrl + b] + n / p / N | 次/前/N番目のウィンドウに移動 |
[Ctrl + b] +% | 水平ペインを作成 |
[Ctrl + b] +“ | 垂直ペインを作成 |
[Ctrl +b]+スペースキー | 現在のペインのレイアウトを切り替えます |
[Ctrl + b] + z | 現在のペインにズームイン |
[Ctrl + b] + x | 現在のペインを強制終了 |
tmuxの紹介に沿ってフォローしていただきありがとうございます。ご覧のとおり、さまざまなアプリケーションがあります。この基本的な概要から、tmuxを使用してワークフローを改善する方法についてのアイデアが得られたことを願っています。
いつものように、ご不明な点がございましたら、コメント欄にご記入ください。