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_ALLC.bashrc

答え1

文書/etc/環境以前はシステムロケールに関係なくLC_COLLATE=C.UTF-8LC_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

関連情報