$TERM 何时从“dumb”替换为“xterm”?

$TERM 何时从“dumb”替换为“xterm”?

我添加了一行$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从 替换dumbxterm

我知道有一些类似的问题并且看到了它们,但我对它们的理解不足以找到答案。

既没有.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));

相关内容