Debian
在 Debian Jessie 中為控制台登錄設置的“$TERM”環境變數在哪裡?
我已經閱讀了很多關於如何以及在何處設置預設
$TERM
環境變數的文章和 SE 問題。不幸的是,在 Debian 8.1
$TERM
中,從tty1
.如果這確實是一個重複的問題,我很樂意指出正確的方向,但以下問題似乎沒有提供答案:
編輯
tty1
當我通過這裡登錄時,$TERM
設置為:$> echo $TERM linux
的清單
/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
我想在這里和那裡
TERM
被Linux核心設置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
在基於 Debian/Ubuntu systemd 的系統上,它通過
/lib/systemd/system/getty@.service
.[Service] # the VT is cleared by TTYVTDisallocate ExecStart=-/sbin/agetty --noclear %I $TERM
所以你也許可以
TERM
在核心命令行中覆蓋。嘗試編輯/etc/default/grub
並執行update-grub
並重新啟動。GRUB_CMDLINE_LINUX="TERM=vt100"