关于linux:如何为屏幕指定名称?

How to assign name for a screen?

我在命令shell上使用screen多路复用器工具并打开很多屏幕。 然后我忘记哪个进程ID与哪个任务相关联。

我想为屏幕设置名称,但在联机帮助页中找不到选项。

目前,列出屏幕如下所示:

1
2
3
4
5
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.

我希望看到这样的事情:

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

我怎样才能做到这一点?


开始一个新的会话

screen -S your_session_name

重命名现有会话

Ctrl + a sessionname YOUR_SESSION_NAME Enter

You must be inside the session


要创建名为foo的新屏幕,请使用

1
screen -S foo

然后重新连接它,运行

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


如前所述,screen -S SESSIONTITLE适用于以标题(SESSIONTITLE)开始会话,但如果您开始会话并稍后决定更改其标题。这可以通过使用默认键绑定来完成:

Ctrl + aA

哪个提示:

1
Set windows title to:SESSIONTITLE

通过退格并键入所需标题来更改SESSIONTITLE。确认名称更改并列出所有标题。

Ctrl + a"


最简单的方法是使用名称屏幕

1
screen -S 'name' 'application'
  • Ctrl + ad =退出并离开应用程序打开

返回屏幕:

1
screen -r 'name'

例如使用lynx与屏幕

创建屏幕:

1
screen -S lynx lynx

Ctrl + ad =退出

以后你可以回复:

1
screen -r lynx


我是屏幕的初学者,但我发现它在恢复丢失的连接时非常有用。您的问题已经得到解答,但这些信息可能会作为一个补充 - 我使用putty与putty连接管理器并命名我的屏幕 -"tab1","tab2"等 - 至于我8-10的整体图片标签比每个标签名称更重要。我使用第8个选项卡连接到db,第7个选项用于查看日志等。所以当我想重新连接我的屏幕时,我写了一个简单的包装器,上面写着:

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

其中第一个参数是选项卡号。