私はこの質問を以前に尋ねたことがあることを知っていますが、どんな答えも私には役に立ちませんでした。
私は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
...
- 利用可能なロケールのリストを取得するために使用します
localectl list-locales
。 - 必要に応じておよびを使用して
localectl set-locale LANG=de_DE.utf8
目的のロケールを設定できます。localectl set-locale LC_COLLATE=C.UTF-8
- 検査結果を活用してください
localectl
。