111*_*--- 4 terminal debian environment-variables systemd console
我已经阅读了很多关于如何以及在何处设置默认$TERM环境变量的文章和 SE 问题。
不幸的是,在 Debian 8.1$TERM中,从tty1.
如果这确实是一个重复的问题,我很想指出正确的方向,但以下问题似乎没有提供答案:
当我通过tty1这里登录时$TERM设置为:
$> echo $TERM
linux
Run Code Online (Sandbox Code Playgroud)
的清单/usr/lib/systemd/,注意这里没有system目录。
$> ls -al
total 28
drwxr-xr-x 7 root root 4096 Aug 19 13:37 .
drwxr-xr-x 44 root root 4096 Aug 20 14:28 ..
drwxr-xr-x 2 root root 4096 Aug 19 13:37 catalog
drwxr-xr-x 2 root root 4096 May 26 02:07 network
drwxr-xr-x 2 root root 4096 Aug 19 13:37 ntp-units.d
drwxr-xr-x 2 root root 4096 Aug 19 13:37 user
drwxr-xr-x 2 root root 4096 May 26 02:07 user-generators
Run Code Online (Sandbox Code Playgroud)
我想这里和那里的Linux 内核TERM都设置linux为 init 进程(pid 1)。您可以在其中看到(抱歉,以下输出来自 Ubuntu 15.04):/proc/1/environ
$ sudo strings /proc/1/environ
HOME=/
init=/sbin/init
recovery=
TERM=linux
BOOT_IMAGE=/boot/vmlinuz-3.19.0-25-generic.efi.signed
PATH=/sbin:/usr/sbin:/bin:/usr/bin
PWD=/
rootmnt=/root
Run Code Online (Sandbox Code Playgroud)
在基于 Debian/Ubuntu systemd 的系统上,它通过/lib/systemd/system/getty@.service.
[Service]
# the VT is cleared by TTYVTDisallocate
ExecStart=-/sbin/agetty --noclear %I $TERM
Run Code Online (Sandbox Code Playgroud)
因此,您可以TERM在内核命令行中进行覆盖。尝试编辑/etc/default/grub并运行update-grub并重新启动。
GRUB_CMDLINE_LINUX="TERM=vt100"
Run Code Online (Sandbox Code Playgroud)