Arch-Linux
LC_ALL:無法更改語言環境 (en_US.utf-8)
我知道以前有人問過這個問題,但沒有一個答案適合我。
我使用帶有 linux-zen 核心的 Arch Linux 和 KDE,並將我的語言環境設置為
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
.
文件***/etc/enviroment***與系統語言環境無關,您必須編輯
LC_COLLATE=C.UTF-8
.LC_ALL=C
回到過去,但您使用的是滾動版本。當使用
sysvinit
oropenrc
或類似的東西時…您的語言環境是使用
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-archive***並且可以通過
localedef --list-archive
.使用時
systemd
…
- 使用 獲取可用語言環境的列表
localectl list-locales
。localectl set-locale LANG=de_DE.utf8
如果需要,通過和設置所需的語言環境localectl set-locale LC_COLLATE=C.UTF-8
。- 用 . 檢查結果
localectl
。