web-dev-qa-db-ja.com

画面に名前をつけるには?

シェルでscreenマルチプレクサツールを使っていて、たくさんの画面を開いています。どのプロセスIDがどのタスクに関連付けられているのか忘れてしまいます。

スクリーンの名前を設定したいのですが、マンページに選択肢がありません。

現在、画面を一覧表示するとこのようになります。

There are screens on:
    5422.pts-1.aws1 (Detached)
    5448.pts-1.aws1 (Detached)
    5027.pts-1.aws1 (Detached)
3 Sockets in /var/run/screen/S-sb.

そして私はこのようなものを見たいのですが。

There are screens on:
    5422.logCleanWorker (Detached)
    5448.overNightLongTask(Detached)
    5027.databaseOverNightLongTask (Detached)
3 Sockets in /var/run/screen/S-sb.

これどうやってするの?

435
spankmaster79

新しいセッションを開始する

screen -S your_session_name

既存のセッションの名前を変更する

Ctrl+a、 : セッション名YOUR_SESSION_NAME Enter

あなたはセッション内にいる必要があります

598
user164176

fooという名前の新しいスクリーンを作成するには、

screen -S foo

それを再接続するには、実行します

screen -r foo  # or use -x, as in
screen -x foo  # for "Multi display mode" (see the man page)
589
miedwar

すでに述べたように、screen -S SESSIONTITLEはタイトル(SESSIONTITLE)でセッションを開始するのに役立ちますが、セッションを開始して後でそのタイトルを変更することにした場合。これは、デフォルトのキー割り当てを使用して実現できます。

Ctrl+a、 A

どのプロンプト:

Set windows title to:SESSIONTITLE

バックスペースして目的のタイトルを入力してSESSIONTITLEを変更します。名前の変更を確認して、すべてのタイトルを一覧表示します。

Ctrl+a、 "

50
E4Y

最も簡単な方法は、名前付きの画面を使用する

screen -S 'name' 'application'
  • Ctrl+a、 d =終了してアプリケーションを開いたままにする

画面に戻ります。

screen -r 'name'

例えばscreenでlynxを使う

画面を作成します。

screen -S lynx lynx

Ctrl+a、 d =終了

後で戻ることができます。

screen -r lynx
10
OneOFPunx

私はスクリーニングの初心者ですが、失われた接続を復元しながら非常に有用であると思います。あなたの質問はすでに答えられていますが、この情報は追加として役立つかもしれません - 私はPuTTYコネクションマネージャでPuTTYを使用し、私のスクリーンに名前を付けます - "tab1"、 "tab2"など。タブは個々のタブ名よりも重要です。私はdbへの接続に8番目のタブを、ログの閲覧などに7番目を使用します。だから私が自分のスクリーンを再アタッチしたいとき、私は次のような簡単なラッパーを書きました。

#!/bin/bash
screen -d -r tab$1

最初の引数はタブ番号です。

1
Saurabh Hirani