如何为屏幕分配名称?[关闭]


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
Rakib

屏幕会话的名称建议您为单个任务(也许是单个命令)创建一个新的屏幕会话。屏幕支持多个窗口,因此您可以在一个屏幕会话中运行所有这些任务。
Melebius

3
可以将其迁移到SuperUser(或其他StackExchange网站)吗?显然,这对许多人来说非常有用,尽管它不在此特定站点的范围之内。
Patrick Sanan

1
如果您在此站点上找到了将其与所有历史一起移动到该位置的选项,那么我同意将其移动
spankmaster79 '18

Answers:


651

开始新的会话

screen -S your_session_name

重命名现有会话

Ctrl+ a:会话名称YOUR_SESSION_NAMEEnter

您必须在会话中


14
这是合适的解决方案,因为它专注于重命名现有会话,而不是创建一个新会话。
thanos.a,2015年

4
在快速注意C-a :语法......“所有的屏幕命令由退出键前缀,默认情况下C-a(这是控制,一个,有时写^a)。要发送的文字C-a在屏幕上的程序,使用C-a a。这跟工作时是非常有用的屏幕内的屏幕。例如,C-a a n将屏幕移至屏幕内屏幕上的新窗口。” (ref:aperiodic.net/screen/quick_reference
Nate Ritter

非常感激。即使我知道您可以以一个名字开头,但我经常没有命名就开始,然后希望以后可以。谢谢!
Ketzak '17

2
几年后看了看,就表示同意:D
spankmaster79 '18

我可以将绑定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,2015年

10
向下滚动到user164176的答案以查看如何重命名现有会话。
jlh

1
该问题看起来更像是在询问“如何重命名现有会话”,而不是“如何使用名称启动新会话”。在这种情况下,当前选择的答案并不真正合适。所选择的正确的答案应该由给定一个user164176- stackoverflow.com/a/3309696/636762如下
Rakib

我在Google上搜索了“ ubuntu用名称创建新屏幕”,这是第一个结果。正是我在找什么:)谢谢
Skylord123

要重命名会话:Ctrl + a ,:会话名称YOUR_SESSION_NAME输入。
Slake

51

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

Ctrl+ aA

提示:

Set windows title to:SESSIONTITLE

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

Ctrl+ a"


40
您正在将术语会话窗口视为可互换的。Ctrl+aA不设置会话名称(SESSIONNAME),仅设置当前窗口标题。使用进行查询时,会话中的窗口标题不会出现在会话列表中screen -list。问题询问如何设置会话名称。
2014年

5
有用,但它更改当前窗口标题,而不是会话名称。
Znik 2015年

13

使用名称最简单的屏幕

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

返回屏幕:

screen -r 'name'

例如在屏幕上使用山猫

创建屏幕:

screen -S lynx lynx

Ctrl+ ad=退出

稍后您可以返回:

screen -r lynx

18
这有三个问题。首先,已经有几个人发布了此信息。其次,您要告诉他他已经知道的基本屏幕用法知识。第三,您实际上没有回答这个问题,因为他询问了如何命名一个已经存在的屏幕会话。
斯蒂尔·丹

0

我是初学者,但我发现它在恢复丢失的连接时非常有用。您的问题已得到解答,但该信息可能会作为补充-我将腻子与腻子连接管理器结合使用,并命名我的屏幕-“ tab1”,“ tab2”等-就我而言,8-10的总体情况标签比每个标签的名称都重要。我使用第八个选项卡来连接数据库,使用第七个选项卡来查看日志,等等。因此,当我想重新连接屏幕时,我写了一个简单的包装,内容为:

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

其中第一个参数是制表符编号。


1
最好将其作为bash函数来完成。
保罗·普莱斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.