画面に名前を割り当てる方法は?[閉まっている]


471

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.

これどうやってするの?


4
質問は、「名前で新しいセッションを開始する方法」ではなく、「既存のセッションの名前を変更する方法」を尋ねているように見えます。その文脈では、現在選択されている答えは本当に適切ではありません。正しい答えは、次のような答えになるはずです。user164176- stackoverflow.com
a/3309696/636762

スクリーンセッションの名前は、単一のタスク(おそらく単一のコマンド)ごとに新しいスクリーンセッションを作成することを示唆しています。画面は複数のウィンドウをサポートしているため、これらすべてのタスクを1つの画面セッションで実行できます。
Melebius 2017年

3
これはSuperUser(または他のStackExchangeサイト)に移行できますか?明らかに、このサイトの範囲外ですが、多くの人にとって非常に便利です。
Patrick Sanan

1
このサイトですべての履歴と共に移動するオプションを見つけた場合は、移動することに同意します
spankmaster79

回答:


652

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

screen -S your_session_name

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

Ctrl+ a:セッション名YOUR_SESSION_NAMEEnter

セッション中にいる必要があります


14
新しいセッションを作成するのではなく、既存のセッションの名前を変更することに重点を置いているため、これは適切なソリューションです。
thanos.a

4
C-a :構文に関する簡単なメモ...「すべての画面コマンドには、デフォルトでエスケープキーが付いていますC-a(これはControl-aで、時々書き込まれます^a)。C-a画面のプログラムにリテラルを送信するには、を使用しますC-a a。これは、画面内の画面。たとえばC-a a n、画面内の画面上の新しいウィンドウに画面を移動します。」(参照:aperiodic.net/screen/quick_reference
ネイトリッター

とても有難い。名前から始められることはわかっていますが、名前を付けずに始めることが多いので、後でできればいいのですが。ありがとう!
Ketzak 2017

2
数年後それを見た後に同意した:D
spankmaster79

C-a :sessionname NEWNAMEをタイプするのが速いものにバインドできますか?私は試しましたbind $ sessionnameが、今C-a $は新しい名前の入力を求められません。それはどういうわけか可能ですか?
andreas-h

592

名前で新しい画面を作成するにはfoo、使用

screen -S foo

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

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

16
ソリューションでは、既存のものを変更するのではなく、正しい名前で新しいものを作成する方法を説明します。セッションを維持することが可能であれば、セッションを終了したいものはありません。
thanos.a

10
user164176の回答までスクロールして、既存のセッションの名前を変更する方法を確認します。
jlh

1
質問は、「名前で新しいセッションを開始する方法」ではなく、「既存のセッションの名前を変更する方法」を尋ねているように見えます。その文脈では、現在選択されている答えは本当に適切ではありません。選択された正解はなくによって与えられるものでなければならないuser164176- stackoverflow.com/a/3309696/636762以下
Rakib

「ubuntu create a new screen with name」で検索したところ、これが最初の結果でした。まさに私が探していたものです:)ありがとう
Skylord123

セッションの名前を変更するには:Ctrl + a、:sessionname YOUR_SESSION_NAME Enter。
Slake

51

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

Ctrl+ aA

どのプロンプト:

Set windows title to:SESSIONTITLE

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

Ctrl+ a"


40
セッションウィンドウという用語は、互換性がない場合でも互換性があるものとして扱っています。Ctrl+aセッション名()をA設定せず、現在のウィンドウタイトルのみを設定します。で照会した場合、セッション内のウィンドウのタイトルはセッションのリストに表示されません。質問では、セッション名を設定する方法を尋ねます。SESSIONNAMEscreen -list
StvnW 2014年

5
便利ですが、セッション名ではなく、現在のウィンドウタイトルを変更します。
Znik

13

名前で画面を使用する最も簡単な方法

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

画面に戻る:

screen -r 'name'

たとえば、画面でlynxを使用する

画面を作成:

screen -S lynx lynx

Ctrl+ ad= exit

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

screen -r lynx

18
これには3つの問題があります。まず、何人かがすでにこれを投稿しています。第二に、あなたは彼がすでに知っている基本的な画面の使い方を彼に言っている。3番目に、既存のスクリーンセッションに名前を付ける方法を尋ねられたため、実際には質問に答えませんでした。
Steely Dan

0

私はスクリーニングの初心者ですが、失われた接続を復元するときに非常に便利です。あなたの質問はすでに回答されていますが、この情報はアドオンとして役立つ可能性があります-私はputtyをputty接続マネージャーで使用し、画面に「tab1」、「tab2」などの名前を付けます-私にとっては8-10の全体像タブは、個々のタブ名よりも重要です。私は8番目のタブを使用してdbに接続し、7番目のタブをログの表示などに使用しています。そのため、画面を再接続したい場合は、次のような簡単なラッパーを作成しました。

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

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


1
これは、bash関数として行う方がよいでしょう。
ポールプライス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.