デフォルトの$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
Linuxカーネル ここ および そこ によって、initプロセス(pid 1)のTERM
がlinux
に設定されていると思います。 /proc/1/environ
で確認できます(次の出力はUbuntu 15.04からのものです):
$ 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/[email protected]
の定義によって子gettyプロセスに伝播されます。
[Service]
# the VT is cleared by TTYVTDisallocate
ExecStart=-/sbin/agetty --noclear %I $TERM
したがって、カーネルコマンドラインでTERM
をオーバーライドできる可能性があります。 /etc/default/grub
を編集してupdate-grub
を実行し、再起動してみてください。
GRUB_CMDLINE_LINUX="TERM=vt100"