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

このチートシートをtmux用にターミナルマルチプレクサとして使用します

手の込んだRaspberryPihomelabを起動する場合でも、ワークステーションでいっぱいの建物を管理する場合でも、複数のホストで同じタスクを実行する必要がある場合があります。システム間でタスクを自動化する方法はたくさんあります。たとえば、Ansibleは、すべてのシステムが同じ状態にあることを保証し、単純なcronジョブで実行できる場合もあります。ただし、コマンドを手動で実行する必要がある場合もあります。そのためには、複数のコマンドプロンプトを制御できる単一の端末であるtmuxが必要です。

tmuxは、ターミナルウィンドウにレイヤー(またはtmuxの用語では「ウィンドウ」)を追加するオープンソースアプリケーションであり、1つのデスクトップウィンドウで複数のターミナルを開くことができます。その結果、タブ付きのインターフェイス(物理タブなし)が作成されるため、Firefoxのあるタブから別のタブに切り替えるときにマウスを使用する必要がなく、開いている端末から別の端末に切り替えることができます。

これは冗長に見えるかもしれません。結局のところ、GNOMEターミナルやKonsoleなどの最新のターミナルアプリケーションにはデフォルトでタブが組み込まれており、rxvtなどの非常に古いターミナルでもタブ付きインターフェイスを追加する機能があります。ただし、tmuxには、ウィンドウをペインに分割する機能が追加されています。各ペインには個別の端末が含まれており、各端末は個別のホストにログインできます。いくつかのキーボードショートカットまたは基本的なtmuxinatorスクリプトを使用して、一連の端末を構築できます。

(セスケンロン、CC BY-SA 4.0)

tmuxをインストール

LinuxおよびBSDでは、ソフトウェアリポジトリまたはポートツリーからtmuxをインストールできます。 Macでは、Homebrewを使用します。

たとえば、RHELまたはFedoraの場合:

$ sudo dnf install tmux

tmuxを開始

tmuxを起動するには、ターミナルを開いて次のように入力します:

$ tmux

これを行うと、明らかな結果として、tmuxが同じウィンドウで新しいシェルを起動し、下部にステータスバーが表示されます。しかし、まだまだ進んでおり、この小さな実験でそれを見ることができます。まず、現在の端末で何かを実行して、別の空の端末と区別できるようにします。

$ echo hello
hello

次に、 Ctrl + Bを押します。 続いてC キーボードで。作業がなくなったように見えるかもしれませんが、実際には、tmuxがウィンドウと呼ぶものを作成しました。 (これは、確かに、起動した端末をウィンドウと呼んでいる可能性があるため、混乱を招く可能性があります。 )。 tmuxのおかげで、実際には2つのウィンドウが開いており、どちらもtmuxの下部にあるステータスバーに一覧表示されています。これらの2つのウィンドウ間をインデックス番号でナビゲートできます。たとえば、 Ctrl + Bを押します 続いて0 初期ウィンドウに移動するには:

$ echo hello
hello

Ctrl + Bを押します 続いて1 作成した最初の新しいウィンドウに移動します。

Ctrl + B を使用して、開いているウィンドウを「ウォーク」することもできます およびN (次へ)または P (前の場合)。

tmuxトリガーとコマンド

その他のLinuxリソース

  • Linuxコマンドのチートシート
  • 高度なLinuxコマンドのチートシート
  • 無料のオンラインコース:RHELの技術概要
  • Linuxネットワーキングのチートシート
  • SELinuxチートシート
  • Linuxの一般的なコマンドのチートシート
  • Linuxコンテナとは何ですか?
  • 最新のLinux記事

キーボードショートカットCtrl+ B tmuxトリガーです。 tmuxセッションで押すと、次のキーまたは次のキーの組み合わせを「リッスン」するようにtmuxに警告します。したがって、すべてのtmuxショートカットのプレフィックスは Ctrl + B です。 。

tmuxコマンドラインにアクセスして、名前でtmuxコマンドを入力することもできます。たとえば、新しいウィンドウを難しい方法で作成するには、 Ctrl + Bを押します。 続いて tmuxコマンドラインに入ります。 new-windowと入力します Enterを押します 新しいウィンドウを作成します。これは、 Ctrl + Bを押すのとまったく同じことを行います 次にC

ウィンドウをペインに分割する

tmuxで複数のウィンドウを作成したら、それらすべてを1つのウィンドウで表示すると便利なことがよくあります。ウィンドウを水平方向に分割する(分割が水平で、1つのウィンドウを北の位置に配置し、別のウィンドウを南の位置に配置する)か、垂直方向に分割する(ウィンドウを西と東の位置に配置する)ことができます。

  • 水平分割を作成するには、 Ctrl + Bを押します 続いて" (これは二重引用符です。)
  • 垂直分割を作成するには、 Ctrl + Bを押します 続いて (パーセント)。

分割されたウィンドウは分割できるので、レイアウトはあなたと端末の行数次第です。

時々物事は手に負えなくなることがあります。次のクイックプリセットを使用して、無計画に分割されたペインでいっぱいの端末を調整できます。

  • Ctrl + B Alt + 1 :水平分割でも
  • Ctrl + B Alt + 2 :垂直分割でも
  • Ctrl + B Alt + 3 :メインペインの水平スパン、小さいペインの垂直分割
  • Ctrl + B Alt + 3 :メインペインの垂直スパン、小さいペインの水平分割
  • Ctrl + B Alt + 5 :タイルレイアウト
ペイン間の切り替え

あるペインから別のペインに移動するには、 Ctrl + Bを押します。 続いてOその他のように )。ペインの周囲の境界線は位置に基づいて色が変わり、ターミナルカーソルがアクティブ状態に変わります。このメソッドは、作成順にペインを「ウォーク」します。

または、矢印キーを使用して、レイアウトに従ってペインに移動することもできます。たとえば、2つの開いているペインが水平分割で分割されている場合は、 Ctrl + Bを押すことができます。 続いて 下のペインから上のペインに切り替えるための矢印。同様に、 Ctrl + B 続いてダウン 矢印が上のペインから下のペインに切り替わります。

tmuxを使用して複数のホストでコマンドを実行する

多くのウィンドウを開いて便利なペインに分割する方法がわかったので、一度に複数のホストで1つのコマンドを実行するために知っておく必要のあるほぼすべてのことを理解しました。満足のいくレイアウトがあり、各ペインが個別のホストに接続されていると仮定すると、キーボードで入力した入力がすべてのペインに反映されるように、ペインを同期できます。

ペインを同期するには、 Ctrl + Bを使用してtmuxコマンドラインにアクセスします 続いて 、次にsetw synchronize-panesと入力します 。

これで、キーボードで入力したものがすべて各ペインに表示され、各ペインがそれに応じて応答します。

チートシートをダウンロード

Ctrl + Bを覚えるのは比較的簡単です tmux機能を呼び出すために使用しますが、それに続くキーは最初は覚えにくい場合があります。組み込みのtmuxキーボードショートカットはすべて、 Ctrl + Bを押すと利用できます 続いて Qでヘルプ画面を終了します )。ただし、ヘルプ画面はすべてのオプションで少し圧倒される可能性があり、タスクやトピックごとに整理されているものはありません。 tmuxの基本的な機能と、この記事で取り上げられていない多くの高度な機能を思い出せるように、tmuxのチートシートを開発しました。ダウンロードは無料ですので、今すぐコピーを入手してください。

tmuxチートシートを今すぐダウンロードしてください!


Linux
  1. GNUScreenを使用するためのLinuxのヒント

  2. Tmux+チートシートの使用方法

  3. ネットワーク管理者向けの無料の「IPv6チートシート」をダウンロードする

  1. Linuxユーザーと権限のチートシート

  2. 一般的なLinuxコマンドのチートシート

  3. SELinux用のシステム管理者の便利なチートシート

  1. GroffMacrosのチートシートの紹介

  2. IPtablesコマンドのチートシート

  3. Tmuxで使用する用語の有効な値を見つける方法は?