나한테 하나 있었어희귀한 질문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