僕に一つあった珍しい 質問Raspbmc Raspberry Piの環境変数が正しく設定されていません。特に、私はする必要があります~/.bashrc
。
export LANG='en_AU.UTF-8"
export LANGUAGE='en_AU:en'
export MAIL='/var/mail/pi'
しかし、バニラRaspbianを実行している他のPiでは、これらの環境変数はい設定が正しいです。どのファイルがそれを指定したかを確認したかったが見つかりませんでした。端末にログインしたときに実行されることがわかっているファイルをテストしました。これらはパンチを詰めませんでした。
grep LANG -r /etc/profile /etc/profile.d/ /etc/bash.bashrc ~/.profile ~/.bashrc /etc/environment
grep MAIL -r /etc/profile /etc/profile.d/ /etc/bash.bashrc ~/.profile ~/.bashrc /etc/environment
代わりに私のラップトップでアーチを実行すると/etc/profile.d/locale.sh
設定LANG
と~/.profile
指定になるようですLANGUAGE
。しかし、私はそれへの言及を見つけることができませんMAIL
。
これらの環境変数が設定されている場所をどのように見つけることができますか?
編集する
私の作業システム(Raspbian)で文字列全体を検索して/etc
見つけました。~
grep "\bMAIL=" -r /etc 2>/dev/null
grep "\bMAIL=" -r ~ 2>/dev/null
MAILを検索しても結果はありません。
grep "\bLANG=" -r /etc 2>/dev/null
grep "\bLANG=" -r ~ 2>/dev/null
この戦略は、LANGに対しては一部の照会のみを提供し、/etc
LANGUAGEに対しては照会を提供しません。いくつかの偽のヒット/etc
とLANG=C
1つの実際のヒットがあります(例:言及する渡すウィンク17)存在する/etc/default/locale:LANG=en_AU.UTF-8
。しかし(によると前の質問言い換えれば、このファイルは/etc/default/locale
私のRaspbmcシステムからインポートされたものではないので、このファイルが存在するよりも少し複雑です。
答え1
状況をさらに混乱させるためにSSHを使用してリモートでログインすると、SSHクライアントはクライアントの設定/デフォルト設定でシステムのデフォルト(一部)を上書きできます。
これはファイルAcceptEnv
のディレクティブによって制御されますsshd_config
。たとえば、次のようになります。
# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS