不支持区域设置:en_US.utf8

不支持区域设置:en_US.utf8

我使用的是 Linux Mint 17.3。我在系统日志中看到了这一点。

Processing triggers for initramfs-tools (0.103ubuntu4.3) ...
Apr  9 12:01:47 vb-nb-mint updates: update-initramfs: Generating /boot/initrd.img-3.19.0-32-generic
Apr  9 12:01:51 vb-nb-mint updates: Warning: No support for locale: en_US.utf8

我刚刚注意到这个警告?不应该是 en_US.UTF8 吗?只是一个想法,否则我不知道这是关于什么的。

locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
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="en_US.UTF-8"
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_IDENTIFICATION=en_US.UTF-8
LC_ALL=

答案1

看一下/usr/lib/locale/。如果您的输出如下所示,请继续阅读:

ls /usr/lib/locale/
C.UTF-8  locale-archive

据我所知,该警告并不重要,但您可以尝试:

sudo locale-gen --purge --no-archive

此命令删除存档文件并用.utf8文件替换它。

之后你可以再看/usr/lib/locale/一下,它看起来应该有点像这样:

ls /usr/lib/locale/
C.UTF-8     de_LI.utf8  en_CA.utf8  en_IN       en_US.utf8
de_AT.utf8  de_LU.utf8  en_DK.utf8  en_NG       en_ZA.utf8
de_BE.utf8  en_AG       en_GB.utf8  en_NZ.utf8  en_ZM
de_CH.utf8  en_AU.utf8  en_HK.utf8  en_PH.utf8  en_ZW.utf8
de_DE.utf8  en_BW.utf8  en_IE.utf8  en_SG.utf8

答案2

Mint 19.3 上的 locale-gen 脚本仅具有选项“--keep-existing”,至少在我从 17.1 到现在的升级中是这样。

在 /etc/locale-gen 中编辑的任何新语言环境都不会写入 /usr/lib/locale。但到 /usr/lib/locale/locale-archive。

为了解决这个问题并创建目录和相关所需的语言环境,以用户 root 身份输入:

cd /usr/lib/语言环境

localedef -f UTF-8 -i en_US ./en_US.utf8

(注意创建底层目录所需的“/”)

将正确生成这些:

ls /usr/lib/locale/en_US.utf8/

LC_ADDRESS LC_IDENTIFICATION LC_MONETARY LC_PAPER LC_COLLATE LC_MEASURMENT LC_NAME LC_TELEPHONE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_TIME

首先为什么会发生这种情况?因为脚本 /usr/share/initramfs-tools/hooks/root_locale (在其他脚本中调用,但通常由 update-initramfs 调用)显示以下内容:

[ -z "$ROOT_LOCALE" ] && ROOT_LOCALE=`echo $LANG | sed -e 's/UTF/utf/' -e 's/utf-8/utf8/'`

请注意,对于 Mint 的未来版本(也不是全新安装或任何其他发行版,并且可能会被任何更新或升级覆盖),情况可能并非如此。

如果您(或其他用户)经常使用一种以上或不同的语言,您可以将它们添加到您/他们的主目录中。

由于这是一个警告,您也可以放心地忽略它!编辑

使用“dpkg-reconfigure locales”也不会产生所需的结果,我在升级后的 Mint 19.3 上进行了测试。(从命令行看来它调用了 locale-gen)

相关内容