Debian Jessieでコンソールログイン用に設定された「$TERM」環境変数はどこにありますか?

Debian Jessieでコンソールログイン用に設定された「$TERM」環境変数はどこにありますか?

$TERM基本的な環境変数の設定方法と場所に関する多くの記事とSEの質問を読みました。

$TERM残念ながら、Debian 8.1では、システムにログインしたときにデフォルト変数がどこに設定されているかがわかりませんtty1

これが実際に重複した質問である場合は、正しい方向を知りたいのですが、次の質問は答えを提供しないようです。

tmux、TERM、256色のサポート

TERM環境変数セットのデフォルト値はどこにありますか?

$TERM変数を手動で設定するのは正しいですか?

編集する

tty1ここでログインすると、$TERM設定は次のようになります。

$> echo $TERM
linux

list /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

ベストアンサー1

私の考えでは、LinuxカーネルがTERMこれをlinuxinitプロセス(pid 1)に設定したようです。ここそしてそこ。以下で確認できます/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 システムベースのシステムでは ./lib/systemd/system/[email protected]

[Service]
# the VT is cleared by TTYVTDisallocate
ExecStart=-/sbin/agetty --noclear %I $TERM

TERMしたがって、カーネルコマンドラインでそれを上書きできます。編集/etc/default/grubして実行し、update-grub再起動してみてください。

GRUB_CMDLINE_LINUX="TERM=vt100"

おすすめ記事