LANG, LANGUAGE 및 MAIL 환경 변수가 설정된 위치를 어떻게 찾나요?

LANG, LANGUAGE 및 MAIL 환경 변수가 설정된 위치를 어떻게 찾나요?

나한테 하나 있었어희귀한 질문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에 대해서는 조회를 제공하지 않습니다. 일부 거짓 적중 /etcLANG=C1개의 실제 적중이 있습니다 (예:언급하다통과윙크 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

관련 정보