我设置$HOME/root/.screenrc
为
caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
当我启动一个新屏幕时,这应该在底部显示标题
screen -t testtitle
我看到了不同的标题
0 root@SERVERNAME:~
然后我可以设置标题ctrl-a A
为什么启动屏幕时无法指定标题?
答案1
这是来自“这不是一个错误,这是一个功能!”类别。
问题是 bash (可能在其他 shell 中相同或相似)变量,PROMPT_COMMAND
该变量在您的发行版中默认设置。
screen
该变量用于通过每次创建提示时编写转义序列(您看不到它们,因为它们被 捕获)来与较低级别的软件(如终端仿真器)进行通信。
我只是看了一下,man screen
以便向您指出相关部分,并注意到似乎没有必要取消设置,PROMPT_COMMAND
因为可以在以下范围内禁用此行为screen
:
defdynamictitle off
那应该足够了。您可以通过禁用 init 文件来快速测试这是否是问题:
screen -t testtitle /bin/bash --norc
请man -P 'less -p "^TITLES \(naming windows\)"' screen
参阅 说明。