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

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

シーンを設定しましょう。ある日、時間のかかる機能ジェネレータープロセスをデバッグしていました。 Macでターミナルを開いていて、プロセスが開始されるリモートLinux仮想マシン(VM)に接続しました。スクリプトでいくつかのことを確認しましたが、すべてが良さそうです。しかし、私がプロセスを開始する頃には、ちょうどその日のオフィスを離れる時間でした。ラップトップを閉じるとシェルが停止し、プロセスが停止します。このプロセスには永遠に時間がかかり、家に帰ったときに結果をデバッグできるだけでなく、バ​​ックアップを開始して終了するのを待つ必要があります。私は遅くまで滞在しなければならず、この出来事の順番に満足していなかったという事実に同意し始めました。

同僚が私の欲求不満に気づき、どうすれば手伝うことができるか尋ねました。リモートVM上にあるため、ターミナルを閉じた後もプロセスを実行し続ける方法が必要であると説明しました。死なないようにシェルに接続する必要があるのではないかと心配していました。それから彼は私にtmuxを紹介してくれました。

tmuxを使用してスクリプトをリモートで実行する

Linuxターミナル

  • Linux用の上位7つのターミナルエミュレータ
  • Linuxでのデータ分析のための10個のコマンドラインツール
  • 今すぐダウンロード:SSHチートシート
  • 高度なLinuxコマンドのチートシート
  • Linuxコマンドラインチュートリアル

まず、tmuxのyumインストールを行いました。次に、 tmuxと入力してtmuxセッションを開始しました コマンドとして。このtmuxセッションでは、通常のシェルで行うすべてのことを実行できました。プロセスを開始したばかりだったので、元のターミナルでそれを強制終了しました。次に、tmuxセッションに移動し、スクリプトを再度開始してプロセスを実行しました。最後に、ラップトップを通常の仕事の終わりのように眠らせました。

ラップトップを元に戻したとき、予想どおり、ターミナルシェルがVMから切断されていました。シェルのVMに再度ログインしましたが、起動したばかりのシェルのように空白でした。最初の反応はパニックでしたが、バックグラウンドでハミングするだけなので、tmuxセッションに再度アクセスする必要があることを学びました。

tmuxセッションに再度接続するために、 tmux lsと入力しました 私が開いたすべてのセッションを一覧表示します。セッション0は1つしかありませんでした。そのセッションに戻るには、 tmux attach -t 0を実行する必要がありました。 。見よ、セッションが始まり、私のスクリプトはまだ実行されていた。私は恍惚としていて、tmuxで他に何ができるかをすぐに知りたいと思いました。

ウィンドウマネージャーとしてtmuxを使用する

ブラウザのタブを閉じたり、ウィンドウを閉じたりすることはありません。そのため、いつでも約20台の端末を開いて実行しています。近藤麻理恵は、新しいウィンドウを開くたびに、おそらく力の乱れを感じます。しかし、すべて同じVMに接続されている4つの端末を開いて、それらと端末リストのどこにあるかを追跡しようとする代わりに、tmuxを使用して、VMに対して1つの端末を開き、その端末に4つのペインを配置できます。これは本当に便利です。たとえば、VMでプロセスを開始してから、どこかに行ってプロパティファイルを編集する必要があることがよくあります。最初のプロセスはまだ実行中なので、別のターミナルを開いてファイルを編集します。次に、開いたばかりのプロパティファイルを編集する方法を知るために、別のウィンドウでログを追跡しながら2番目のプロセスを実行する必要があることに気付きました。 tmuxがないと、閉じられない3つの端末が作成されます。

tmuxは、DockerとKubernetesを実行するための命の恩人です。新しいターミナルを開く代わりに、コンテナを専用のペイン専用にすることは非常に役立ちます。マスターペインを使用すると、コンテナーの状態を監視できます。コンテナに入る必要があるときはいつでも、新しいペインを簡単に開くことができます。 docker-compose upを実行することもできます およびdocker-composedown 必要に応じて、すべてのコンテナで同時に、ターミナルを1つだけ開いてください。

ペインはすでにフォーマットされており、互いに隣接しているため、1つのVMに接続されているすべての端末を収集して、モニター上で隣り合わせにドラッグアンドドロップする必要はありません。必要なのはそれだけです。新しいターミナルを開く必要があるときは、もう一度やり直してください。 tmuxでは、個々のペインのサイズをその場で変更することもできます。使い終わったら、ペインを閉じるのは本当に簡単です。 VMへのターミナルを閉じていません。ペインを開いてバックアップすることができます。これにより、デスクトップを忘れた端末で乱雑にするのではなく、きれいに保つことができます。

tmuxプレフィックスの再マッピング

最近、tmuxプレフィックスを再マッピングして、作業をさらに簡単にできることを学びました。 tmuxコマンドを実行する前に(たとえば、新しいペインを作成する、ペインのサイズを変更する、ターミナルにテキストをコピーして貼り付ける)、特定のキーパターンを入力して、tmuxコマンドを呼び出そうとしていることをtmuxに通知する必要があります。昔のLinuxコマンドの代わりに。デフォルトのプレフィックスはCTRL+ b です 。たとえば、現在のペインに水平に隣接する新しいペインを開くコマンドは、です。 、ただしtmuxがリッスンするには、 CTRL + b +%を入力する必要があります 。 CTRL + b 少しぎこちないので、バッククォート( `)にリマップしました。再マップされたプレフィックスにより、便利な場所にない2つのキーを押すよりもスムーズになります。新しいペインが必要な場合は、 `+%を入力するだけです。 そして出来上がり!

最初から最後までtmux

新しいLinuxVMで最初に行うことは、tmuxをインストールすることです。 Linux VMに接続されている端末で最初に行うことは、tmuxセッションを開始することです。 tmuxをインストールした後にベースVMスナップショットを取得するので、スナップショットに戻す必要がある場合にtmuxを再インストールする必要はありません。 Linux VMに再度ログインするときはいつでも、常に tmux lsを実行します 以前のtmuxセッションを見つけたら、それに接続して、最後に中断したところに沿ってクリップします。


Linux
  1. Linux端末の色を変更する方法

  2. Linuxターミナルで冒険に出かけましょう

  3. Linux端末に幸運をもたらす方法

  1. Linuxでプリンタを設定する方法

  2. Linuxターミナルとシェルをクリスマス化する方法

  3. asciinemaを使用してLinux端末を記録する方法

  1. Linux端末でテトリスを再生する

  2. Linux端末の実際の使い方(4例)

  3. Linuxでターミナルセッションを記録する方法