새로운 Ubuntu 16.04 서버를 설정했지만 로케일 설정을 영구적으로 변경하려고하면 실패하고 POSIX 로케일로 되돌아갑니다.
입력 locale
하면 다음이 생성됩니다.
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
필자가 아는 바에 따르면 POSIX는 " 대체 ASCII 인코딩, C와 동일 합니다."라는 문서에 따르면 로케일이 전혀 설정되지 않았습니다 .
로케일을 보장 de_AT.utf8
하고 en_US.utf8
내 시스템에 있었다, 나는 실행 locale -a
굴복하는 :
C
C.UTF-8
POSIX
de_AT.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
과의 불일치를주의하십시오 C.UTF-8
, 그러나 de_AT.utf8
! 더 걱정되는 것은 POSIX가 세 번째 항목이며 다른 작업 시스템에서는 목록의 마지막 항목이라는 것입니다.
언어를로 변경하기 en_US.utf8
위해을 입력했습니다 sudo update-locale LANG=en_US.utf8
. 이 locale
명령은 여전히 POSIX 로캘을 보여줍니다. 로그 아웃 및 새 로그인 locale
후에도 POSIX 로케일이 계속 표시되었습니다. 다시 부팅 한 후에도 locale
POSIX 로캘이 계속 표시되었습니다.
그러나 내가 입력 export LANG=en_US.utf8
하면 일시적으로 작동하지만 로그 아웃 할 때까지만 작동합니다. 따라서 로케일이 올바르게 생성되었다고 확신합니다.
아이디어가 없습니다. 모든 로케일을 재생성하려고 시도했지만 /etc/default/locale
단순히 무시되는 것처럼 보입니다 .
완성을 위해 /etc/default/locale
라인 만 포함LANG=en_US.utf8
UPDATE : // 나는 실행하려 sudo localectl set-locale LANG=en_US.UTF-8
하고, localectl
또한 로케일을 설정할 수 있지만 다시 부팅 한 후에도 저를 보여 locale
여전히 POSIX와 비 ASCII 문자가 여전히 제대로 렌더링되지 않습니다 보여줍니다.
systemd
방법 을 시도 했습니까 localectl set-locale LANG=C.UTF-8
?
/etc/pam.d
작동합니다. 그러나 지금은 해킹으로 /etc/profile.d/mylocalesetting.sh
라인 을 생성 하고 추가 할 수 있습니다 export LANG=en_US.UTF-8
.
/etc/default/locale
PAM이 읽습니다. PAM을 비활성화 했습니까?