LC_ALL: 로캘을 변경할 수 없습니다(en_US.utf-8).

LC_ALL: 로캘을 변경할 수 없습니다(en_US.utf-8).

나는 이 질문을 이전에 요청한 적이 있다는 것을 알고 있지만 어떤 답변도 나에게 도움이 되지 않았습니다.

저는 KDE 및 linux-zen 커널과 함께 Arch Linux를 사용하고 있으며 로케일을 en_US.utf-8.

Konsole을 열 때마다 다음을 얻습니다.

bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf-8)

이 문제를 어떻게 해결할 수 있나요?

이 내 꺼야 /etc/environment:

#
# This file is parsed by pam_env module
#
# Syntax: simple "KEY=VAL" pairs on separate lines
#

LANG=en_US.utf-8
LC_ALL=C

나도 내 안에 있어요 LC_ALL.C.bashrc

답변1

문서/etc/환경예전에는 시스템 로케일에 관계없이 LC_COLLATE=C.UTF-8.LC_ALL=C

sysvinit또는 openrc이와 유사한 것을 사용할 때 ...

귀하의 로케일은 locale-gen다음으로 생성 되었습니다./etc/locale.gen그런 다음 전달되었습니다./etc/locale.conf그리고/etc/env.d/02locale

여기에 예가 있습니다 ...

[~] cat /etc/locale.gen 

C.UTF8 UTF-8
en_US ISO-8859-1
en_US.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
de_DE.UTF-8 UTF-8

[~] cat /etc/locale.conf 
# Configuration file for eselect
LANG="de_DE.utf8"
LC_COLLATE="C.UTF-8"

[~] cat /etc/env.d/02locale 
# Configuration file for eselect
LANG="de_DE.utf8"
LC_COLLATE="C.UTF-8"

[~] ls -l /etc/env.d/02locale 
lrwxrwxrwx 1 root root 14  1. Aug 20:10 /etc/env.d/02locale -> ../locale.conf

를 실행하여 선택한 로캘을 사용할 수 있는지 확인합니다 locale -a. 가용성을 확인한 후 실행하여 source /etc/profile시스템을 동적으로 업데이트할 수 있습니다.

참고: 지역 설정은 다음에 저장됩니다./usr/lib/locale/locale 아카이브및 검사를 받을 수 있습니다 localedef --list-archive.

사용할 때 systemd...

  1. 사용 가능한 로케일 목록을 가져오는 데 사용합니다 localectl list-locales.
  2. 필요한 경우 localectl set-locale LANG=de_DE.utf8및 를 통해 원하는 로케일을 설정할 수 있습니다.localectl set-locale LC_COLLATE=C.UTF-8
  3. 검사 결과를 활용하세요 localectl.

관련 정보