ターミナルは、最も一般的に使用される管理ツールの1つです。 多くの場合、操作中にターミナルの複数のタブを同時に開いたままにする必要があります。1つはWebサーバーの管理用、もう1つはデータベースの管理用、3つ目はファイルのコピー用など 開いているタブが多数ある場合、すべてのプロセスを同時に追跡するのが難しくなり、作業が非常に複雑になります。 複数の端末の問題を解決できる特別なプログラムがあります。 それらはターミナルマルチプレクサと呼ばれます。
端末マルチプレクサを使用すると、1つのウィンドウで複数の端末セッションを同時に操作できます。 彼らの仕事の原則は次のとおりです。複数のタブを持つ端末がリモートマシン上に作成されます。 ローカルマシンでは、ターミナルウィンドウはいくつかの部分に分割され、各部分でアプリケーションとプロセスを起動できます。 リモートマシンから切断して(現在のセッションが保存されます)、再接続して作業を続けることができます。
最も有名で一般的な端末マルチプレクサは、もちろん、GNU Screenです。 すべての利点を備えているため、作業上の不便さが異なります。 たとえば、画面をパーツに分割する操作などの実装が失敗しました。現在のセッションから切断され、その後の再開が行われると、パーツの配置は保存されません。
最近、より視覚的で使いやすい他のターミナルマルチプレクサ、たとえば、この記事の対象となるtmuxおよびdvtmが広く使用されています。
Tmux
TmuxはLinuxおよびMacOSで動作します。 最新のほとんどのLinuxシステムの公式リポジトリに含まれており、標準パッケージマネージャーを使用してインストールできます。
次のコマンドでtmuxを実行します。
$ tmux
画面の下部にステータスバーが表示されます。
すべてのターミナルマルチプレクサは、次のように制御されます。最初に、いわゆるプレフィックスキーの組み合わせが押され、その後、この機能またはその機能を制御するキーが押されます。 tmuxでは、デフォルトの組み合わせはCtrl + Bです。 端末画面を縦棒で2つに分割するには、まずCtrl + Bを押してから、%(つまり、Shift + 5)を押す必要があります。
結果の各タブは、Ctrl + B +のキーの組み合わせを使用して、水平線で2つの部分に分割することもできます(最初にCtrl + Bを押し、次に ")。
次のコマンドを使用して、ウィンドウを2つの部分に分割することもできます。
$ tmux split-window -h
(水平に2つの部分に分割)
$ tmux split-window -v
(垂直に2つに分割)
ウィンドウのある部分から別の部分に切り替えるには、まずCtrl + Bを押してから、←、↑、→、および↓キーを押します。
新しいウィンドウを作成するには、キーの組み合わせCtrl + B + Cを押します。 1つのセッション内で、使用できるウィンドウの数に制限はありません。 それぞれを順番に分割することができます。 ウィンドウ間の切り替えは、次の組み合わせを使用して実行されます。
- Ctrl + B 0 ... 9-指定されたウィンドウに移動します。
- Ctrl + BP-前のウィンドウに移動します。
- Ctrl + BN-次のウィンドウに進みます。
- Ctrl + BL-前のアクティブなウィンドウに移動します(つまり、現在のウィンドウへの遷移が以前に実行されたウィンドウに移動します);
- Ctrl + BX-ウィンドウを閉じます(これはexitコマンドを使用しても実行できます)。
Ctrl + B + Dのキーの組み合わせを押すと、現在のtmuxセッションを中断できます。 中断されたセッションを再開するには、次のコマンドを入力します。
$ tmux接続
中断されたセッションが復元されます。 すべてのデータとプロセスが保存されます。
このコマンドは、短縮形で入力できます。
$ tmux -a
セッションのリストを表示するには、次のコマンドを実行します。
$ tmux ls
次のコマンドを使用して、開いているセッションを完了します。
$ tmux kill-session -t [セッション名]
開いているすべてのセッションを同時に完了するには、次のコマンドを入力します。
$ tmux kill-server
セットアップの推奨事項
画面下部のステータスバーはオフにできます。 これを行うには、次のコマンドを入力します。
$ tmux set -g status off
そして、無効化されたステータスバーが再び表示されるように-コマンド:
$ tmux set -g status on
ステータスバーの位置を変更して、画面の下部ではなく上部に表示されるようにできます。
$ set -g status-position top
ステータスバーの色は、次のコマンドを使用して変更されます。
tmux set -g status-bg blue
DVTM
Dvtm(動的仮想端末マネージャ)は、多くの点でtmuxと機能が似ている端末マルチプレクサです。
また、最新のLinuxシステムの公式リポジトリにも含まれており、標準のパッケージマネージャーを使用してインストールされます。
dvtmを起動すると、画面の上部にステータスバーが表示されます。
dvtmの管理は、tmuxの管理と同じ方法で編成されています。 キーの組み合わせはCtrl + Gです。 dvtmのウィンドウの概念は、tmuxと比較してまったく異なって解釈されます。 新しいウィンドウを作成するには、Ctrl + G + Cのキーの組み合わせを使用します。 この組み合わせをクリックすると、画面は2つの部分に分割されます。 それぞれが個別のウィンドウです。
同じキーの組み合わせを使用して、追加のウィンドウを作成できます。
ウィンドウの順序は変更できます。 次のロケーションオプションが区別されます。
- 垂直(Ctrl + GT)-現在のウィンドウは画面の左半分にあります。 他のすべてのウィンドウは右半分にあります。
- 水平(Ctrl + GB)-メイン作業ウィンドウは画面の上半分を占め、他のすべてのウィンドウは下部にあります。
- グリッドモード(Ctrl + GG)-画面は、作成されたウィンドウの数によって同じサイズの部分に分割されます。
- 全画面モード(Ctrl + GM)-現在のウィンドウが画面全体を占めます。
Ctrl + G +スペースバーの組み合わせを押すと、ウィンドウ配置のあるモードから別のモードに切り替えることができます。
次のキーボードショートカットを使用してウィンドウを制御します。
- Ctrl + GX-現在のウィンドウを閉じます。
- Ctrl + GJ-次のウィンドウに進みます。
- Ctrl + GK-前のウィンドウに移動します。
- Ctrl + G 0 ... 9-指定されたウィンドウに移動します(数字はウィンドウ番号を示します)。
- Ctrl + GL-現在のウィンドウの幅を広げます。
- Ctrl + GH-現在のウィンドウの幅を縮小します。
- Ctrl + GQ-すべてのウィンドウを閉じて、dvtmを終了します。
dvtmには、既知のターミナルマルチプレクサにはない興味深い機能が1つあります。現在のウィンドウでキーを押すと、開いている他のすべてのウィンドウで自動的に再生できます。 キーの組み合わせCtrl + G + Aを押します。 その後、任意のキーを押すと、すべてのウィンドウで一度に押すことができます。 (UPD。私たちの読者は、tmuxにも同じ機能があると報告しました:tmux set synchronize-panes on)。
現在のウィンドウでコマンドを入力すると、開いているすべてのウィンドウで同時に実行されます。 たとえば、この機能を使用すると、同じ方法で複数のリモートサーバーを同時に構成できます。
tmuxとは異なり、dvtmはセッションの保存と再開をサポートしていません。 これを行うには、dtachが使用されます。これは、現在のセッションから切断し、コンソールアプリケーション用に接続する機能を提供する補助ユーティリティです。 標準パッケージマネージャーを使用してインストールされます。
セッションを切断して再接続するには、dtachでdvtmを実行する必要があります。
$ dtach -c / tmp / dvtm-session -r winch dvtm
dtachを使用する場合、セッションを識別するソケットを明示的に指定する必要があります。 セッションへのアクセスは、ソケットへのアクセスによって完全に決定されます。
dtachを終了するには、Ctrl + \の組み合わせを押す必要があります。 次のコマンドを使用して、既存のセッションへの接続を実行します。
$ dtach -a / tmp / dvtm-session -r winch
dtachの詳細については、公式manページをご覧ください 。
最後に、画面、tmux、dvtmで使用される主なコマンドとキーボードショートカットの表である小さなチートシートを示します。
コマンドとキーボードショートカットの比較表
セッション管理
運営 | スクリーン | tmux | dvtm |
---|---|---|---|
新しいセッションを開始する | スクリーン | tmux
tmux新しいセッション tmux new-session -s [セッション名] | セッションを保存および再開する機能はサポートされていません。このため、この機能をすべてのコンソールアプリケーションに実装するdtachユーティリティをインストールする必要があります。 dtachでdvtmを実行するには、次のコマンドを使用します。
dtach -c / tmp / dvtm-session -r winch dvtm |
作成済みのセッションに接続する | 画面-r | tmux接続
tmux attach-session -s [セッション名] tmux -a | dtach -a / tmp / dvtm-session -r winch |
現在のセッションから切断する | Ctrl + AD | tmux detachまたはCtrl + BD | Ctrl + \ |
アクティブなセッションのリストを表示する | 画面-ls | tmux ls | ps aux | grep dtach |
セッションを削除 | screen -r [セッション名] -X quit | tmux kill-session -t [セッション名] | - |
すべてのセッションを削除 | Ctrl + A \ | tmux kill-server | - |
ウィンドウ管理
運営 | スクリーン | tmux | dvtm |
---|---|---|---|
新しいウィンドウを作成する | Ctrl + AC | Ctrl + BC | Ctrl + GC |
指定されたウィンドウに移動 | Ctrl + A 0 .... 9 | Ctrl + B 0 .... 9 | Ctrl + G 0 .... 9 |
前のウィンドウに移動 | Ctrl + AP | Ctrl + BP | Ctrl + GJ |
次のウィンドウに移動 | Ctrl + AN | Ctrl + BN | Ctrl + GK |
最後のアクティブなウィンドウに移動 | Ctrl + AL | Ctrl + BL | - |
開いているすべてのウィンドウのリストを表示する | Ctrl + A " | Ctrl + BW | - |
ウィンドウ幅を広げる | - | Ctrl + B Ctrl + N→またはCtrl + B Alt +→(大幅に増加) | Ctrl + GL |
ウィンドウ幅を縮小する | - | Ctrl + B Ctrl +← | Ctrl + GH |
開いているすべてのウィンドウでキーストロークを再生する | - | tmuxは、同期ペインをオンに設定しました | Ctrl + GA |
現在のウィンドウを閉じる | Ctrl + AX | Ctrl + BX | Ctrl + GX |
Habréの投稿にコメントできない読者は、私たちのブログを歓迎します。