我添加了一行$HOME/.profile
只是为了引起兴趣。
echo ${TERM:-"\$TERM isn't set."} > $HOME/term/.profile
下次登录后,我看到了一个dumb
单词$HOME/term/.profile
。
$ cat term/.profile
dumb
然后我打开gnome-terminal
并输入echo $TERM
。结果是xterm
。
$ echo $TERM
xterm
什么时候$TERM
从 替换dumb
为xterm
?
我知道有一些类似的问题并且看到了它们,但我对它们的理解不足以找到答案。
既没有.bash_profile
也.bash_login
没有$HOME
。
这是who
命令的输出:
$ who am i
cul8er pts/1 2015-11-25 05:31 (:0)
操作系统:Ubuntu 15.04。
答案1
dumb
您看到的值可能已设置经过systemd
.profile
对于 LightDM(当您登录时获取来源,请参阅/usr/sbin/lightdm-session
)。
该值xterm
由 GNOME 终端设置,或者更确切地说VTE 图书馆它使用的。GNOME 终端本身不提供更改设置的方法,不像其他基于 VTE 的终端(如 XFCE 终端)。请参阅src/pty.c
:
/**
* VtePty:term:
*
* The value to set for the TERM environment variable just after
* forking.
*
* Since: 0.26
*/
g_object_class_install_property
(object_class,
PROP_TERM,
g_param_spec_string ("term", NULL, NULL,
"xterm",
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));