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. |
我怎样才能做到这一点?
-
问题看起来更像是在询问"如何重命名现有会话",而不是"如何使用名称开始新会话"。 在这种情况下,目前选择的答案并不合适。 正确的答案应该是user164176给出的答案 - stackoverflow.com/a/3309696/636762
-
屏幕会话的名称建议您为单个任务创建新的屏幕会话(可能是单个命令)。 屏幕支持多个窗口,因此您可以在单个屏幕会话中运行所有这些任务。
-
这可以迁移到SuperUser(或其他一些StackExchange站点)吗? 显然它对很多人来说非常有用,尽管它超出了这个特定网站的范围。
-
如果你在这个网站上找到一个选项,将其移动到所有历史记录中,那么我会同意移动它
开始一个新的会话
screen -S your_session_name
重命名现有会话
Ctrl + a,: sessionname YOUR_SESSION_NAME Enter
You must be inside the session
-
这是适当的解决方案,因为它侧重于重命名现有会话而不是创建新会话。
-
关于C-a :语法的快速说明...."所有屏幕命令都以转义键为前缀,默认为C-a(即Control-a,有时写为^a)。要将文字C-a发送到屏幕中的程序,使用C-a a。这在屏幕内使用屏幕时很有用。例如,C-a a n会将屏幕移动到屏幕内屏幕上的新窗口。" (参考:aperiodic.net/screen/quick_reference)
-
非常感激。虽然我知道你可以从一个名字开始,但我经常在没有命名的情况下开始,然后希望我以后可以。谢谢!
-
几年后看了之后同意:D
-
我可以将C-a :sessionname NEWNAME绑定到更快的类型吗?我尝试了bind $ sessionname,但现在当我C-a $时,它没有提示我输入新名称。这有可能吗?
-
专业提示,您可以键入屏幕名称的前缀,因此代替:screen -r myname,screen -r my将起作用(如果它是唯一的前缀)。
要创建名为foo的新屏幕,请使用
然后重新连接它,运行
1 2
| screen -r foo # or use -x, as in
screen -x foo # for"Multi display mode" (see the man page) |
-
在您的解决方案中,您将解释如何使用正确的名称创建新的名称,而不是更改现有名称。如果可以保留会话,则没有人想要终止会话。
-
向下滚动到user164176的答案,了解如何重命名现有会话。
-
问题看起来更像是在询问"如何重命名现有会话",而不是"如何使用名称开始新会话"。在这种情况下,目前选择的答案并不合适。所选择的正确答案应该是user164176给出的答案 - stackoverflow.com/a/3309696/636762
-
我在谷歌搜索"ubuntu用名字创建一个新屏幕",这是第一个结果。正是我在寻找:)谢谢
-
要重命名会话:Ctrl + a,:sessionname YOUR_SESSION_NAME Enter。
如前所述,screen -S SESSIONTITLE适用于以标题(SESSIONTITLE)开始会话,但如果您开始会话并稍后决定更改其标题。这可以通过使用默认键绑定来完成:
Ctrl + a,A
哪个提示:
1
| Set windows title to:SESSIONTITLE |
通过退格并键入所需标题来更改SESSIONTITLE。确认名称更改并列出所有标题。
Ctrl + a,"
-
您将术语会话和窗口视为可互换而不是。 Ctrl+a,A不设置会话名称(SESSIONNAME),它只设置当前窗口标题。使用screen -list查询时,会话中的窗口标题不会出现在会话列表中。该问题询问如何设置会话名称。
-
有用但它会更改当前窗口标题,而不是会话名称。
最简单的方法是使用名称屏幕
1
| screen -S 'name' 'application' |
返回屏幕:
例如使用lynx与屏幕
创建屏幕:
Ctrl + a,d =退出
以后你可以回复:
-
这有三个问题。首先,有几个人已经发布了这个。其次,你告诉他他已经知道的基本屏幕用法。第三,你实际上没有回答这个问题,因为他询问如何命名已经存在的屏幕会话。
我是屏幕的初学者,但我发现它在恢复丢失的连接时非常有用。您的问题已经得到解答,但这些信息可能会作为一个补充 - 我使用putty与putty连接管理器并命名我的屏幕 -"tab1","tab2"等 - 至于我8-10的整体图片标签比每个标签名称更重要。我使用第8个选项卡连接到db,第7个选项用于查看日志等。所以当我想重新连接我的屏幕时,我写了一个简单的包装器,上面写着:
1 2
| #!/bin/bash
screen -d -r tab$1 |
其中第一个参数是选项卡号。