GNU/Linux >> Linux の 問題 >  >> Linux

Linuxで複数のターミナルセッションを管理するためのTmuxコマンドの例

GNU Screenの使用方法はすでに学習しました 複数のターミナルセッションを管理します。今日は、 "Tmux"という名前のもう1つの有名なコマンドラインユーティリティを紹介します。 、複数のターミナルセッションの管理にも使用されます。このガイドでは、Linuxでの例を使用してTmuxとTmuxコマンドの使用法について説明します。

1。 Tmuxとは何ですか?

GNU Screenと同様に、Tmuxもターミナルマルチプレクサであり、単一のターミナルウィンドウ内で多数のターミナルセッションを作成し、複数のプログラムまたはプロセスを同時に実行できます。

Tmuxは、Linux、OpenBSD、FreeBSD、NetBSD、およびMacOSXをサポートする無料のオープンソースおよびクロスプラットフォームプログラムです。

2。 LinuxにTmuxをインストールする

Tmuxは、ほとんどのLinuxディストリビューションの公式リポジトリで利用できます。

Alpine LinuxにTmuxをインストールするには、次のコマンドを実行します:

$ sudo apk add tmux

Arch Linuxと、EndeavourOSやManjaro Linuxなどのその亜種では、次のコマンドを実行してインストールします。

$ sudo pacman -S tmux

Debian、Ubuntu、Linux Mint、Pop_OS!:

$ sudo apt-get install tmux

Fedora、RHEL、CentOS、AlmaLinux、Rocky Linuxの場合:

$ sudo dnf install tmux

または、

$ sudo yum install tmux

SUSE / openSUSEの場合:

$ sudo zypper install tmux

さて、Tmuxをインストールしました。先に進んで、Tmuxの使用方法の例をいくつか見てみましょう。

3。 Tmuxコマンドの使用例と例

TmuxのすべてのコマンドへのデフォルトのプレフィックスショートカットはCtrl + bです 。 Tmuxを使用するときは、このキーボードショートカットを覚えておいてください。

ヘッズアップ: すべての画面のデフォルトのプレフィックス コマンドはCtrl+ a

3.1。 Tmuxセッションの作成

新しいTmuxセッションを作成して接続するには、ターミナルから次のコマンドを実行します。

$ tmux

または、

$ tmux new

Tmuxセッションに入ると、下部に緑色のバーが表示されます。 下のスクリーンショットに示すように。

Tmuxセッション内にいるかどうかを確認するのは非常に便利です。

3.2。 Tmuxセッションからの切り離し

現在のTmuxセッションから切り離すには、 Ctrl + bを押すだけです。 およびd 。この両方のキーボードショートカットを一度に押す必要はありません。最初に"Ctrl+ b"を押します 次に、 "d"を押します 。

セッションから切り離されると、次のような出力が表示されます。

[detached (from session 0)]

3.3。名前付きセッションの作成

複数のセッションを使用すると、どのプログラムがどのセッションで実行されているか混乱する可能性があります。このような場合は、名前付きセッションを作成するだけです。

たとえば、セッションでWebサーバーに関連するいくつかのアクティビティを実行する場合は、カスタム名( "webserver" など)を使用してTmuxセッションを作成するだけです。 (または任意の名前)。

$ tmux new -s webserver

これが新しい名前のTmuxセッションです。

上のスクリーンショットでわかるように、Tmuxセッションの名前はウェブサーバーです。 。このようにして、どのプログラムがどのセッションで実行されているかを簡単に識別できます。

切り離すには、 Ctrl + bを押すだけです。 およびd

3.4。 Tmuxセッションを一覧表示する

開いているTmuxセッションのリストを表示するには、次のコマンドを実行します:

$ tmux ls

出力例:

ご覧のとおり、2つの開いているTmuxセッションがあります。

3.5。デタッチセッションの作成

場合によっては、単にセッションを作成し、それに自動的に接続したくない場合があります。

"ostechnix"という名前の新しいデタッチセッションを作成するには 、実行:

$ tmux new -s ostechnix -d

上記のコマンドは「ostechnix」と呼ばれる新しいTmuxセッションを作成しますが、それに接続しません。

tmux lsを使用してセッションが作成されているかどうかを確認できます コマンド:

3.6。 Tmuxセッションへの接続

次のコマンドを実行して、最後に作成されたセッションに接続できます。

$ tmux attach

または、

$ tmux a

「ostechnix」などの特定の名前付きセッションに接続する場合は、次を実行します。

$ tmux attach -t ostechnix

または、まもなく:

$ tmux a -t ostechnix

3.7。 Tmuxセッションを強制終了します

完了してTmuxセッションが不要になったら、コマンドを使用していつでもTmuxセッションを強制終了できます:

$ tmux kill-session -t ostechnix

接続時に強制終了するには、 Ctrl + bを押します およびx "y"を押します セッションを強制終了します。

tmux lsでセッションが閉じられているかどうかを確認できます コマンド。

すべてのTmuxセッションとともにTmuxサーバーを強制終了するには、次のコマンドを実行します:

$ tmux kill-server

気をつけて!これにより、セッション内に警告なしに実行中のジョブがある場合でも、すべてのTmuxセッションが終了します。

実行中のTmuxセッションがなかった場合、次の出力が表示されます。

$ tmux ls
no server running on /tmp/tmux-1000/default

3.8。 Tmuxセッションウィンドウの分割

Tmuxには、単一のTmuxセッションウィンドウをTmuxペインと呼ばれる複数の小さなウィンドウに分割するオプションがあります。 。

このようにして、各ペインでさまざまなプログラムを実行し、それらすべてを同時に操作できます。

各ペインは、他のペインに影響を与えることなく、サイズ変更、移動、および閉じることができます。 Tmuxウィンドウを水平または垂直、あるいはその両方に一度に分割できます。

3.8.1。ペインを水平に分割する

ペインを水平方向に分割するには、 Ctrl + bを押します および" (一重引用符)。

同じキーの組み合わせを使用して、ペインをさらに分割します。

3.8.2。ペインを垂直に分割する

ペインを垂直に分割するには、 Ctrl + bを押します および

3.8.3。ペインを水平方向と垂直方向に分割します

ペインを水平方向と垂直方向に同時に分割することもできます。次のスクリーンショットを見てください。

まず、 Ctrl + bを押して水平分割を行いました " 次に、 Ctrl + b を押して、下部ペインを垂直に分割します

上のスクリーンショットにあるように、私は各ペインで3つの異なるプログラムを実行しています。

3.8.4。ペインを切り替える

ペインを切り替えるには、 Ctrl + bを押します および矢印キー(左、右、上、下)

3.8.5。すべてのペインにコマンドを送信する

前の例では、各ペインで3つの異なるコマンドを実行します。ただし、同じコマンドをすべてのペインに一度に送信して実行することもできます。

これを行うには、 Ctrl + bを押します 次のコマンドを入力して、 ENTERを押します。 :

:setw synchronize-panes

次に、任意のペインで任意のコマンドを入力します。同じコマンドがすべてのペインに反映されていることがわかります。

3.8.6。ペインを入れ替える

ペインを入れ替えるには、 Ctrl + bを押します およびo

3.8.7。ペイン番号を表示する

Ctrl + bを押します およびq ペイン番号を表示します。

3.8.8。ペインを殺す

ペインを強制終了するには、 exitと入力するだけです。 およびENTER 鍵。または、 Ctrl + bを押します およびx 。確認メッセージが表示されます。 "y"を押すだけです ペインを閉じます。

4。 Tmuxペインをズームインおよびズームアウトします

Tmuxペインをズームして、現在のターミナルウィンドウのフルサイズに合わせて、テキストの視認性を高め、そのコンテンツをより多く表示することができます。

より多くのスペースが必要な場合や特定のタスクに集中する場合に便利です。そのタスクを完了した後、Tmuxペインをズームアウト(ズーム解除)して通常の位置に戻すことができます。詳細については、次のリンクをご覧ください。

  • テキストの視認性を高めるためにTmuxペインをズームする方法

5。 Tmuxセッションの自動開始

SSH経由でリモートシステムを操作する場合は、Tmuxセッション内で長時間実行されるプロセスを実行することをお勧めします。

これは、ネットワーク接続が突然切断されたときに、実行中のプロセスの制御を失うことを防ぐためです。

この問題を回避する1つの方法は、Tmuxセッションを自動開始することです。詳細については、次のリンクを参照してください。

  • SSH経由でログインするときにリモートシステムでTmuxセッションを自動開始する

結論

このガイドでは、Tmuxコマンドの使用法について例を挙げて説明しました。この段階で、Tmuxコマンドラインユーティリティの基本的な考え方と、Tmuxを使用して複数のターミナルセッションを管理する方法を学びます。詳細については、manページを参照してください。

$ man tmux

GNU ScreenユーティリティとTmuxユーティリティはどちらも、SSHを介してサーバーをリモートで管理する場合に非常に役立ちます。 ScreenコマンドとTmuxコマンドを徹底的に学び、プロのようにリモートサーバーを管理します。


Linux
  1. TmuxおよびScreenとのLinuxターミナルセッションの共有

  2. Linuxtmuxセッション内でのIrssiの使用

  3. 画面コマンドを使用してUbuntu20.04でターミナルセッションを管理する

  1. ターミネーターを使用して複数のSSHセッションにコマンドを送信する

  2. tmuxがLinuxターミナルでどのように喜びを刺激するか

  3. Linuxコマンド-概要と例

  1. LinuxターミナルをtmuxとGitでカスタマイズする

  2. Linuxコマンドのチートシート:例を使用

  3. 「script」および「scriptreplay」コマンドを使用してLinuxターミナルセッションを記録および再生する方法