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

Linux端末を分割する5つの方法

暖かくちらつくLinux端末よりも優れたものはありますか?

確かにあります:2つの暖かくちらつくLinux端末。実際、多ければ多いほど良いのです。

昔は端末は物理的なデバイスでしたが、もちろん、今日では、端末はコンピュータ上のアプリケーションとしてエミュレートされています。インターフェイスとして端末を使用する場合は、1つの端末で十分なことはめったにないことをご存知でしょう。必然的に、新しい端末または新しいタブを開いて、最初の端末がデータのコンパイル、変換、またはその他の処理で忙しいときに作業できるようにします。

システム管理者の場合、複数のシステムで同時に作業している間は、少なくとも4つの開いているウィンドウが必要になることがわかります。

その他のLinuxリソース

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

タブ付きのターミナルアプリケーションはLinux上に長い間存在していましたが、幸いなことに、その傾向は現代のターミナルの期待される機能であるように流行しているようです。それでも、タブ間を行ったり来たりするのは気が散ったり不便だったりすることがあります。

唯一の答えは分割画面であり、1つのアプリケーションウィンドウ内に2つ以上の端末が同時に存在できます。 Linuxキットには、コンソールをスライスしてさいの目に切るのに役立つ多くのツールがあります。

シェル、端末、コンソール

画面をスライスしてさいの目に切る前に、端末、シェル、および「コンソール」の違いを知っておく必要があります。全体像を把握するには、EnableSysadminブログでこのテーマに関する私の記事を読んでください。

短いバージョン:

  • シェルは、プロンプトが表示される入力および出力画面です。技術的には、POSIXデスクトップの下のどこかで実行されているシェルがあります(ユーザーセッションを起動したシェルであるため)。
  • ターミナルは、シェルがロードされたグラフィックサーバー(X11やWaylandなど)内で実行されるアプリケーションです。ターミナルは、ターミナルウィンドウを起動した場合にのみ実行されます。それは多かれ少なかれあなたの殻への「ポータル」です。
  • 「コンソール」または「仮想コンソール」は、通常、デスクトップの外部で実行されているシェルを意味するために使用される用語です。 Alt-Ctrl-F2 を押すと、仮想コンソールにアクセスできます。 (通常、 F3からさらに多くの情報を入手できます F7まで 、 F1 またはF7 ディストリビューションに応じて、デスクトップを表します。

一部のアプリケーションではシェルまたはコンソールを分割できますが、他のアプリケーションでは端末を分割できます。

tmux

おそらく最も柔軟性があり、画面スプリッターに対応しているtmuxは、キーボード中心のターミナルマルチプレクサーです。つまり、あるコンソールを別のコンソールの上に「重ねて」、2つを切り替えることができます。コンソールビューを半分(または3分の1または4分の1など)に分割して、その横にある他のコンソールを表示することもできます。

すべてのコントロールはキーボードを中心にしています。つまり、マウスを探すためにキーから手を離す必要はありませんが、新しいキーボードの組み合わせを学ぶ必要もあります。

主に画面分割にtmuxを使用している場合、本当に必要なコマンドは次のとおりです。

  • Ctrl-B% 垂直分割の場合(左側に1つのシェル、右側に1つのシェル)
  • Ctrl-B " 水平分割の場合(上部に1つのシェル、下部に1つのシェル)
  • Ctrl-B O 他のシェルをアクティブにする
  • Ctrl-B? ヘルプが必要
  • Ctrl-B d Tmuxからデタッチし、バックグラウンドで実行したままにします( tmux attach を使用) 再入場するには)

tmuxには、あるコンピューターでtmuxセッションを開始し、別のコンピューターからリモートで同じセッションに参加できるなど、多くの利点があります。基本的にシェルをデーモン化します。

たとえば、tmuxがPiで実行されている場合、永続的にIRCにログインしたままにすることができます。つまり、Piでtmuxを起動してから、たまたま使用している任意のコンピューターからログインします。ログアウトしても、tmuxは実行を続け、別のコンピューターからセッションに再接続するのを辛抱強く待っています。

GNU画面

tmuxと同様に、GNUScreenはシェルマルチプレクサです。実行中のセッションから切り離して再接続したり、画面を水平方向と垂直方向の両方に分割したりできます。

画面はtmuxより少し不格好です。デフォルトのキーバインディングはCtrl-Aです 、これは、行の先頭に移動するためのBashのキーボードショートカットでもあります。つまり、Screenを実行している場合は、 Ctrl-Aを押す必要があります 行の先頭に移動するには、1回ではなく2回。個人的には、トリガーキーを Ctrl-Jに再定義します $ HOME / .screenrcのこの行で :

escape ^jJ

Screenの分割機能はうまく機能しますが、tmuxに欠けているいくつかの楽しみがありません。たとえば、シェルを分割すると、他のパネルで新しいシェルが開始されません。 Ctrl-Aタブを使用して他のスペースに移動する必要があります (または Ctrl-J 私のようにキーボードショートカットを再定義した場合)、 Ctrl-A Cを使用して手動で新しいシェルを作成します 。

tmuxとは異なり、シェルを終了しても分割は消えません。これは、場合によっては非常に優れた設計機能ですが、分割を手動で管理する必要があるため、面倒な場合もあります。

それでも、Screenは信頼性が高く柔軟なアプリケーションであり、 tmuxが見つかった場合に実行できます。 利用できません。

デフォルトのキーボードショートカットを使用した基本的な分割コマンドは次のとおりです。

  • Ctrl-A | 垂直分割の場合(左側に1つのシェル、右側に1つのシェル)
  • Ctrl-A S 水平分割の場合(上部に1つのシェル、下部に1つのシェル)
  • Ctrl-Aタブ 他のシェルをアクティブにする
  • Ctrl-A? ヘルプが必要
  • Ctrl-A d Screenから切り離し、バックグラウンドで実行したままにします( screen -r を使用します) 再入場するには)

コンソール

Konsoleは、KDEPlasmaデスクトップにバンドルされている端末です。 KDE自体と同様に、Konsoleは高度にカスタマイズ可能で強力なことで有名です。

その多くの機能の中には、tmuxとGNU Screenの両方と同様に、ウィンドウを分割する機能があります。 Konsoleはグラフィカル端末であるため、キーボードの代わりにマウスを使用して分割画面機能を制御できます。

分割は表示にあります Konsoleのメニュー。ウィンドウを水平または垂直に分割できます。アクティブなパネルを変更するには、パネルをクリックするだけです。各パネルは固有の端末であるため、独自のテーマとタブを持つことができます。

tmuxやGNUScreenとは異なり、Konsoleからデタッチして再アタッチすることはできません。ほとんどのグラフィカルアプリケーションと同様に、物理的に目の前にいるときにKonsoleを使用し、離れているときにKonsoleにアクセスできなくなります(リモートデスクトップソフトウェアを使用している場合を除く)。

Emacs

Emacsは正確にはターミナルマルチプレクサではありませんが、そのインターフェイスは分割とサイズ変更をサポートしており、ターミナルが組み込まれています。

とにかく毎日Emacsを使用している場合、ウィンドウを本質的に異なるアプリケーション間で分割できるということは、お気に入りのテキストエディタの親しみやすさと快適さを離れる必要がないことを意味します。さらに、Emacsの eshell モジュールはeLISPに実装されており、Emacs自体で使用するのと同じコマンドを使用してモジュールと対話できるため、長いファイルパスやコマンド出力をコピーしてヤンクするのは簡単です。

グラフィカルウィンドウでEmacsを使用している場合は、マウスでいくつかのアクションを実行できます。キーボードショートカットを使用する方が高速であり、多少必要なものもあります。たとえば、アクティブなパネルをクリックして変更したり、分割画面の比率をマウスで変更したりできます。

重要なキーボードショートカットは次のとおりです。

  • Ctrl-X 3 垂直分割の場合(左側に1つのシェル、右側に1つのシェル)
  • Ctrl-X 2 水平分割の場合(上部に1つのシェル、下部に1つのシェル)
  • Ctrl-X O 他のシェルをアクティブにするため(これはマウスでも実行できます)
  • Ctrl-X 0 (これはゼロです)現在のパネルを閉じます

tmuxやGNUScreenと同様に、 emacs-client を実行している限り、Emacsからデタッチして再アタッチできます。 。

ウィンドウマネージャー

画面を分割して端末をロードできるテキストエディタが素晴らしいと思うなら、同じ目的を果たすデスクトップを想像してみてください。 Ratpoison、Herbsluftwm、i3、AwesomeなどのLinuxデスクトップがあり、特定の設定が有効になっているKDE Plasmaデスクトップでさえ、デスクトップグリッドの固定タイルとして各アプリケーションウィンドウを表示します。

デスクトップの「上」に浮かぶウィンドウの代わりに、ウィンドウは予測可能な場所にとどまるため、一方から他方に変更できます。グリッド内でターミナルマルチプレクサをエミュレートして、任意の数のターミナルを開くことができます。実際、デスクトップマルチプレクサにターミナルマルチプレクサをロードすることもできます。

そして、その中に分割バッファを備えたEmacsをロードすることを妨げるものは何もありません。それ以上進んだ場合に何が起こるかは誰にもわかりません。ほとんどのLinuxユーザーは、調べないことが最善であることに同意しています。

tmuxやGNUScreenとは異なり、リモートデスクトップソフトウェアを使用してカウントしない限り、デスクトップから切り離して再接続することはできません。

その他のオプション

信じられないかもしれませんが、Linuxで画面を分割する必要があるオプションはこれらだけではありません。その前のTilixやTerminatorのように、セクションに分割できる他のターミナルエミュレーターや、ターミナルコンポーネントが組み込まれたアプリケーションなどがあります。コメントでワークスペースを分割するお気に入りの方法を教えてください。


Linux
  1. procps-ngを使用してターミナルでLinuxシステムを監視します

  2. Linuxで$PATH変数を設定する方法

  3. あなたの好きなLinuxターミナルのトリックは何ですか?

  1. あなたの好きなLinuxターミナルのトリックは何ですか?

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

  3. お気に入りのLinuxターミナルエミュレータは何ですか?

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

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

  3. Linuxターミナルで算術演算を行うための5つの便利な方法