在分离模式下启动时如何修复 gnu 屏幕术语检测?

在分离模式下启动时如何修复 gnu 屏幕术语检测?

我正在编写一个脚本,该脚本会生成一个screen进程,但取决于我打算在附加到它之前执行的一些先决条件。

我注意到,当以分离模式启动时,它无法识别$TERM,但我不想在 上对其进行硬编码.screenrc,并且我没有发现任何人有同样的问题。

这是我的环境:

$ screen --version
Screen version 4.06.02 (GNU) 23-Oct-17
$ echo $TERM
xterm-256color

在这里您可以看到它按预期工作:

$ screen -ADRS profile
$ echo $TERM
screen.xterm-256color

但如果这样做的话,就会出错:

$ screen -dmS profile
# I will perform some stuff here, then:
$ screen -ADrS profile
# here you can notice the colors have gone
$ echo $TERM
screen

如何生成一个分离的screen但获得$TERM与第一种情况相同的行为,而不需要对术语进行硬编码.screenrc

答案1

我认为这就是您正在寻找的:

screen -dmS foo -T "screen.$TERM"

我不确定这个解决方案是否完全通用,但只要正确设置父范围 $TERM,它就应该可以正常工作。

相关内容