Arch - 解决:无法将 LC_ALL 设置为默认区域设置:没有这样的文件或目录

Arch - 解决:无法将 LC_ALL 设置为默认区域设置:没有这样的文件或目录

我想在运行 Arch 的虚拟机中更改我的区域设置。

我正在关注 Arch 的文档:https://wiki.archlinux.org/index.php/locale并这样做了:

  1. 取消注释我想尝试的语言yi_US.UTF-8/etc/locale.gen所有其他语言进行评论。
  2. 运行以下脚本:
#!/bin/bash

locale-gen
localectl set-locale LANG=yi_US.UTF-8
unset LANG
source /etc/profile.d/locale.sh

当我运行locale脚本时,我得到:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Camnot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8”
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES=
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIF ICATION="en_US.UTF-8"
LC_ALL=

据我了解,上述3个错误是因为en_US.UTF-8自从我在 中将其注释掉以来,语言环境不再可用/etc/locale.gen

我的输出localectl

System Locale: LANG=yi_US.UTF-8

/etc/locale.conf有:

LANG=yi_US.UTF-8

似乎当我运行unset LANGsource /etc/profile.d/locale.sh在脚本中时,更改只会影响正在运行的脚本,因此更改不是永久性的。

我怎样才能使LC_*使用新的语言环境yi_US.UTF-8通过脚本永久地在父 shell 和所有系统中?

我读过我应该运行:export LC_ALL=yi_US.UTF-8,但这似乎不正确,这只适用于当前的终端会话。

我是否必须添加LC_ALL=yi_US.UTF-8或列表LC_*才能/etc/locale.conf解决问题?

相关内容