baicai

白菜

一个勤奋的代码搬运工!

Linux/MacでGNU Screenを使用するための小技

学習基本的 GNU Screen ターミナルの再利用技術、そして私たちのターミナルコマンドのチートシートをダウンロードして、よく使われるショートカットに慣れることができます。

一般のユーザーにとって、コマンドラインターミナルウィンドウは混乱し、神秘的なものかもしれません。しかし、Linux ターミナルについての理解が深まるにつれて、その効率性とパワフルさに気づくことができます。ただし、ターミナルをより効率的にするためには、ターミナルを増やすだけでなく、他にも何か良い方法があるはずです。

ターミナルの再利用#

ターミナルの利点の 1 つは、それが集中制御されたインターフェースであることです。それは数百のアプリケーションにアクセスするためのウィンドウであり、それぞれのアプリケーションとの対話にはキーボードが必要です。しかし、現代のコンピュータはほとんど常に余分な処理能力を持っており、現代のコンピュータのエキスパートはマルチタスクを好むため、1 つのウィンドウで数百のアプリケーションを処理する能力は非常に限られています。

この問題を解決するための一般的な答えは、ターミナルの再利用です:仮想ターミナルを重ねて配置し、それらの間を移動する能力です。ターミナルの再利用により、集中制御を維持しながら、マルチタスクを実行できます。さらに良いことに、ターミナル内で画面を分割することができ、同時に複数の画面ウィンドウを表示できます。

適切なリユーザーを選択する#

いくつかのターミナルは同様の機能を提供していますが、タブ形式のインターフェースや分割ビューがあり、微妙な違いがあります。まず、これらのターミナルの機能はグラフィカルなデスクトップ環境に依存しています。さらに、多くのグラフィカルなターミナルの機能はマウス操作が必要であり、または使いにくいキーボードショートカットを使用する必要があります。ターミナルの再利用機能は、テキストコンソール上とグラフィカルデスクトップ上の両方で同じくらい使いやすく、キーバインディングは一般的なターミナルシーケンスに対して設計されているため、非常に便利です。

現在、2 つの人気のあるリユーザーがあります:tmux と GNU Screen。それらと対話する方法はわずかに異なるかもしれませんが、それらは同じことをしており、ほとんど同じ機能を備えています。この記事は GNU Screen の入門ガイドです。tmux に関する詳細は、Kevin Sonney の tmux の紹介をご覧ください。

GNU Screen の使用#

GNU Screen の基本的な使用法は非常に簡単です。screenコマンドを使用して起動すると、Screen セッションの 0 番目のウィンドウに入ります。新しいターミナルプロンプトが必要になるまで、何か変わったことに気付くのは難しいかもしれません。

ターミナルウィンドウがアクティブなアクティビティ(たとえば、テキストエディタVimまたはJoveの起動、音声やビデオの処理、またはバッチタスクの実行など)で占有されている場合、新しいウィンドウを作成できます。新しいウィンドウを開くには、Ctrl+Aを押してから離し、cを押します。これにより、既存のウィンドウを基に新しいウィンドウが作成されます。

新しいウィンドウにいることがわかるでしょう。デフォルトのプロンプト以外には何も表示されません。もちろん、別のターミナルはまだ存在しており、新しいウィンドウの後ろに隠れているだけです。開いているウィンドウを切り替えるには、Ctrl+Aを押してから離し、n(次へ)またはp(前へ)を押します。2 つのウィンドウしか開いていない場合、npの機能は同じですが、いつでもさらにウィンドウを開くことができます(Ctrl+A、そしてc)。

画面分割#

GNU Screen のデフォルトの動作は、デスクトップではなく、モバイルデバイスの画面に似ています:1 つのウィンドウしか表示できません。GNU Screen を使用してマルチタスクを行うためにターミナルを使用している場合、1 つのウィンドウに集中することは退屈に感じるかもしれません。幸いなことに、GNU Screen では、ターミナルをウィンドウ内のウィンドウに分割することができます。

水平にウィンドウを分割するには、Ctrl+Aを押してからsを押します。これにより、ウィンドウがパネルのように重ねられます。ただし、表示する内容を指定するまで、分割スペースは使用されません。したがって、分割ウィンドウに入るには、Ctrl+Aを押してからTabキーを押します。一度入ると、Ctrl+Aを押してからnを押して、表示したいコンテンツが分割パネルに表示されるまで、利用可能なすべてのウィンドウを参照できます。

また、Ctrl+Aを押してから|(これはパイプ文字で、ほとんどのキーボードではshiftキーと\を同時に押すことで入力できます)を押すと、垂直にウィンドウを分割できます。

GNU Screen のカスタマイズ#

GNU Screen は、Ctrl+Aを基準としたショートカットキーを使用します。習慣によっては、行の先頭に移動するためにCtrl+Aを使用することが非常に自然に感じるかもしれませんが、非常に不便に感じるかもしれません。どちらにしても、GNU Screen は.screenrc設定ファイルを使用してさまざまなカスタマイズを行うことができます。これを使用して、トリガーキーのバインディング(「エスケープ」キーバインディングとも呼ばれる)を変更できます。

escape ^jJ

また、自分自身が迷子にならないようにするために、ステータスバーを追加することもできます。

    # status bar, with current window highlighted
    hardstatus alwayslastline
    hardstatus string '%{= kG}[%{G}%H%? %1`%?%{g}][%= %{= kw}%-w%{+b yk} %n*%t%?(%u)%? %{-}%+w %=%{g}][%{B}%m/%d %{W}%C%A%{g}]'



    # enable 256 colors
    attrcolor b ".I"
    termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
    defbce on

複数のウィンドウが開いているセッションでは、どのウィンドウがフォーカスされているか、どのウィンドウにバックグラウンドの活動があるかを常に示すステータスバーは特に便利です。これはターミナルのタスクマネージャーのようなものです。

チートシート#

GNU Screen の使用方法を学ぶ際には、多くの新しいキーボードコマンドを覚える必要があります。いくつかのコマンドはすぐに覚えられるかもしれませんが、あまり使用しないコマンドは覚えるのが難しいかもしれません。GNU Screen のヘルプ画面にアクセスするには、Ctrl+Aを押してから?を押します。

GNU Screen の使用方法を学ぶことは、お気に入りのターミナルエミュレータの効率と機敏さを向上させるための良い方法です。ぜひ試してみてください!

参考#

Linux tips for using GNU Screen [1]

使用 GNU Screen 的小技巧 [2]

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。