GNUスクリーンとは?
1 に答える
GNUスクリーンとは?すごい!
ええと、もう少し便利な答えです。1 つのターミナルで複数のコンソール アプリケーションまたはコマンドを実行できます。タブ付きターミナルエミュレータのようなもの。実際、それはまさにそれです(通常のGUIツールキットでは行われていないだけです)
なぜそんなに素晴らしいのですか?シンプルで、スクリーンセッションでプログラムを実行できます(実行screen
するとデフォルトのシェルが実行され、実行するscreen myapp
とセッションでmyappが実行されます)、ctrl+ a(画面制御シーケンス)を押してからd(ctrl+ a、d)を押して切り離します。
プログラムはバックグラウンドで実行され続けますが、実行とは異なりmycmd &
、実行screen -r
してセッションを再接続することができ、すべてが終了したままになります。コマンドに入力を送信できます。それが curses UI の場合、すべてが「実際の」端末であるかのように機能します。
screen irssi
これは、コンソール IRC クライアントで非常に人気があります。SSH を使用できる場所ならどこからでも、セッションを実行 (たとえば)して再接続できます。
いくつかの便利なコマンド:
- ctrl+ a、cセッションで新しい仮想端末 (または「ウィンドウ」) を作成します
- ctrl+ a、nおよびctrl+ a、p複数のウィンドウを循環する
- ctrl+aで1ウィンドウ 1 を選択し、ctrl+aで4ウィンドウ 4 を選択します。
- ctrl+ a, ctrl+aで、最後の 2 つのアクティブ ウィンドウ間をフリックします。
- ctrl+ a, shift+ a(大文字の a) を使用すると、現在のウィンドウの名前を変更できます
- ctrl+ a, `(私にとってはshift+ 2- 引用符) はウィンドウを一覧表示し、矢印を使用して 1 つを選択できます。すぐにリストする「タブバー」設定でも役立ちます
私が遭遇した他のいくつかの便利なもの:
-U
画面を起動するときにフラグを使用して、Unicode をサポートするようにします (例:screen -xU
)-x
フラグを使用すると、同じセッションを複数回再接続できます。(-r
既存の接続を切断します)- ステータスバーで面白いことができます。表示するセットアップがあります
[ hostname ][ 0-$ bash (1*$ irssi) ][16/09 9:32]
(ホスト名で実行され、2つのウィンドウがあります。これは、.screenrcのhardstatus行によって設定されます(回答の最後にあります)
startup_message off
vbell off
hardstatus alwayslastline
hardstatus string '%{gk}[ %{G}%H %{g}][%= %{wk}%?%-Lw%?%{=b kR}(%{W}%n*%f %t%?(%u)%?%{=b kR})%{= kw}%?%+Lw%?%?%= %{g}]%{=y C}[%d/%m %c]%{W}'