저는 KDE 네온 5.20을 실행하고 있는데 두 파일 모두 비슷한 /etc/locale.conf
내용을 가지고 있는 것을 발견했습니다 /etc/default/locale
. 이 두 파일의 차이점은 무엇이며 시스템 로케일을 변경하려면 어느 파일을 편집해야 합니까?
답변1
많은 응용 프로그램이 작동하려면 LANG 환경 변수가 필요합니다. 따라서 대부분의 배포판에는 로그인 후 LANG을 설정하는 시작 스크립트가 있습니다.
그렇다면 시작 스크립트는 LANG 구성을 어디에서 읽습니까? 분포마다 다릅니다.
- Debian 기본 콘솔 로그인 시작 스크립트 읽기
/etc/default/locale
- Slackware 기본 콘솔 로그인 시작 스크립트포인트 소스
/etc/profile.d/lang.sh
- KDE 플라즈마 읽기
~/.config/plasma-localerc
- 읽어야 할 다른 배포판
/etc/locale.conf
Systemd는 어떤 배포판에 설치되어 있는지 모릅니다. 따라서 localectl을 사용하여 구성을 수정하려는 경우 localectl은 해당 구성이 /etc/locale.conf
존재하는지 감지합니다. 존재하는 경우 localectl은 이를 수정하거나 /etc/default/locale
대체 항목으로 만듭니다.
Ubuntu(비 GUI)에 관한 한, /etc/locale.conf
해당 사례가 존재하는 경우 localectl을 어떻게 실행하더라도 LANG 변수는 재부팅 후에도 유지된다는 것을 알 수 있습니다. 이는 Ubuntu가 /etc/default/locale
localectl을 사용하여 Ubuntu가 절대 읽지 않는 파일을 수정하기 때문입니다.
답변2
다양한 배포판이나 Linux 버전에서는 다음 중 하나를 채택합니다. 적절한 예로서 Debian 10의 문서에서는 주로 /etc/default/locale
(예를 들어 man update-locale
)를 참조합니다. systemd와 관련된 부분도 상담할 수 있습니다 /etc/locale.conf
(예 man locale.conf
: ).
간단한 테스트에 따르면 systemd(Debian 10의 일부)는 localectl
as 시스템 로캘이 존재하지 않는 한 해당 내용을 보고합니다. 이 경우 분명히 우선합니다./etc/default/locale
/etc/locale.conf
나는 /etc/default/locale
(다시 말하지만 현재 버전의 데비안에서만) 독점적으로 사용합니다. 내 추론은 다음과 같습니다: 이것은 데비안에 맞을 것이고 시스템에도 맞을 것이므로 전반적으로 분명한 선택입니다.
답변3
몇 가지 실험 후에 KDE 네온이 의 로케일을 존중 /etc/default/locale
하지만 의 로케일은 무시한다는 것을 확인했습니다 /etc/locale.conf
. Ubuntu가 로케일 파일에 대해 다른 위치를 사용하는 이유를 아직도 이해하지 못하지만 Ubuntu 기반 배포판에서는 이를 사용하여 /etc/default/locale
로케일을 설정해야 한다는 결론에 도달했습니다. 또한 /etc/default/locale
방금 심볼릭 링크를 다음으로 바꾸었고 /etc/locale.conf
모든 것이 잘 작동했지만 이제는 로케일을 포함하는 파일만 있습니다.