屏幕未将 $TERM 设置为屏幕

屏幕未将 $TERM 设置为屏幕

我对 gnu screen 有一个问题。

计算机 1:

open terminal
$ printenv TERM
xterm-color
$ screen
$ printenv TERM
screen

计算机2:

open terminal
$ printenv TERM
xterm-color
$ screen
$ printenv TERM
xterm-color

两台计算机均运行 Mac OS X 10.6.4、屏幕版本 4.00.03,配置也类似。

根据screen其手册页:

在每个窗口的环境屏幕打开时,$TERM 变量默认设置为“screen”。但是,当本地 termcap 或 terminfo 数据库中没有安装“screen”的描述时,您可以将 $TERM 设置为 - 比如 - “vt100”。

在两台计算机中我都有“屏幕”的 terminfo 文件/opt/local/share/terminfo/73

即使我这样做,screen -T screen我仍然会将$TERM变量设置为xterm-color

有任何想法吗?

答案1

它最有可能在 中被覆盖~/.bashrc。我的系统就是这种情况。我在 的顶部添加了以下行~/.bashrc

echo $TERM >> /tmp/bashrc.out

然后开始screen并执行以下操作:

$ cat /tmp/bashrc.out
screen
$ echo $TERM
xterm-256color
$ grep -n TERM ~/.bashrc
1:echo $TERM >> /tmp/bashrc.out
33:export TERM=xterm-256color

相关内容