我运行"屏幕-S创建了多个屏幕会话每名 ",我希望能够在状态显示栏的名字我用来创建当前屏幕会话.
但是,我似乎无法做到这一点.有任何想法吗?
小智 39
显示会话名称的最简单方法是
C-a :
sessionname
Run Code Online (Sandbox Code Playgroud)
(之后没有指定名称sessionname)
请参阅手动屏幕中的"自定义"部分
ram*_*ion 18
screen有两个状态栏,标题栏和hardstatus栏,它们都使用man屏幕的"STRING ESCAPES"部分中指定的字符串转义.不幸的是,没有直接引用会话名称的转义.
但是,有一个hack可以让你这样做.
screen使用$STY变量将会话名称传递给shell .当shell尝试设置窗口标题时(使用这些方法之一)screen捕获该尝试,并将其存储在令人困惑的称为"窗口hardstatus"的东西中,它确实有一个可以使用的转义:%h.
因此,如果您将caption或hardstatus栏设置为include %h并让shell尝试将窗口标题设置为$STY,则在%h显示栏时将替换为会话名称.
在当前版本中screen,有一个%Shardstatus线的标志.
MWE(.screenrc):
hardstatus on
hardstatus alwayslastline
hardstatus string "%S"
Run Code Online (Sandbox Code Playgroud)
这将显示没有 ID 的会话名称(如${STY#*.}).