重命名屏幕会话

moi*_*din 229 linux gnu-screen

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

小智 348

概括

Ca :sessionname mySessionName

细节

这是,

  1. 附加到有问题的会话。

  2. Ctrl+ A

  3. 输入- 是的,第一个冒号是必需的,没有多余的空格。:sessionname mySessionName

  4. 键入Enter

例子

$屏幕 -S foo
[与 8890.foo 分离]
$屏幕 -ls
有一个屏幕:
    8890.foo (22/12/11 18:39:22)(独立)
/var/run/screen/S-user 中的 1 个套接字。

$屏幕 -r

Ctrl+ A:sessionname 栏

[脱离8890.bars]
$屏幕 -ls
有一个屏幕:
    8890.bars (22/12/11 18:39:21)(独立)
/var/run/screen/S-user 中的 1 个套接字。

$ 

重命名而不附加

Screen 的-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.

$ 
Run Code Online (Sandbox Code Playgroud)

或者,您可以通过现有名称或 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.

$ 
Run Code Online (Sandbox Code Playgroud)


小智 79

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

screen -S 8890.foo -X sessionname bar
Run Code Online (Sandbox Code Playgroud)

  • 这是一个比上面更好的答案,因为它处理多个会话的一般情况 (9认同)
  • 对于解析命令时遇到困难的人来说,它是“screen -S <PID> -X sessionname <SESSION NAME>” (3认同)
  • 这是最好的答案 (2认同)
  • 如其他答案中所述,使用“screen -ls”获取实际会话名称 (2认同)

ccp*_*zza 11

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

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

现在,当你这样做Ctrl - a+"您设置的名称将出现在窗口列表代替bash

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

  • 我认为问题是关于重命名 _session_,但这个答案重命名了 _windows_。 (5认同)