是否可以更改GNU屏幕会话的名称?假设我使用“ screen -S foo”启动了它,并且想将其重命名为bar。

评论

@ l0b0这就是命名。这是关于重命名。

#1 楼

摘要

C-a :sessionname mySessionName


详细信息

这是


附加到有问题的会话。
按Ctrl + A。
键入:sessionname mySessionName
是的,在那里需要第一个冒号,没有多余的空格。
键入Enter。

示例

$ screen -S foo
[detached from 8890.foo]
$ screen -ls
There is a screen on:
    8890.foo    (22/12/11 18:39:22) (Detached)
1 Socket in /var/run/screen/S-user.

$ screen -r

Ctrl+A:sessionname bars

[detached from 8890.bars]
$ screen -ls
There is a screen on:
    8890.bars   (22/12/11 18:39:21) (Detached)
1 Socket in /var/run/screen/S-user.

$ 


不附加重命名

屏幕的-X开关可让您重命名会话而不附加它。

$ screen -X sessionname foobars
$ screen -ls
There is a screen on:
    8890.foobars    (22/12/11 18:39:22) (Detached)
1 Socket in /var/run/screen/S-user.

$ 


或者,您也可以按屏幕的现有名称或ID(如果已有多个会话,则可以使用)专门定位屏幕会话:

$ screen -ls
There is a screen on:
    8890.foo        (02/23/2015 18:39:22)   (Detached)
    5136.barfoos    (02/23/2015 18:39:22)   (Detached)
1 Socket in /var/run/screen/S-user.

$ screen -S 8890.foo -X sessionname foobars
$ screen -ls
There is a screen on:
    8890.foobars    (02/23/2015 18:39:22)   (Detached)
    5136.barfoos    (02/23/2015 18:39:22)   (Detached)
1 Socket in /var/run/screen/S-user.

$ 


#2 楼

如果有多个会话,请使用:

screen -S 8890.foo -X sessionname bar


评论


这是比上面的方法更好的答案,因为它可以处理多个会话的一般情况

–顿
13年5月21日在17:21

这是最好的答案

– Coc
13年12月3日在10:18

如其他答案中所述,使用screen -ls获取实际的会话名称

– swesend
19年2月13日在3:39

这是一个更好,更简单的答案。非常感谢。

–火星李
19年4月2日在13:45

#3 楼

这会重命名会话中的当前窗口标题,如在按Ctrl-a +“时在窗口列表中显示的一样:


在屏幕会话中,按Ctrl-a + A(大写a,即
Shift + a),键入新名称,然后按Enter


现在,当您执行Ctrl-a +“时,您设置的名称将出现在窗口中列表,而不是bash


注意:这不能回答原始问题,但是我没有删除答案,因为显然该线程的一些访问者正在寻找重命名该方法的方法。窗口标题,而不是OP要求的实际会话。


评论


我认为问题在于重命名会话,但是此答案重命名了Windows。

–丹·格雷弗(Dan Gravell)
2014年9月9日在9:48