如何修复使用 VPS 时似乎出现的区域设置问题

如何修复使用 VPS 时似乎出现的区域设置问题

在我的 VPS 上,当我为新用户输入区域设置时,我得到以下信息:

tarmac@vps48:~/log$ locale     
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot 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.ISO-8859-15
LANGUAGE=en_US:en
LC_CTYPE="en_US.ISO-8859-15"
LC_NUMERIC="en_US.ISO-8859-15"
LC_TIME="en_US.ISO-8859-15"
LC_COLLATE="en_US.ISO-8859-15"
LC_MONETARY="en_US.ISO-8859-15"
LC_MESSAGES="en_US.ISO-8859-15"
LC_PAPER="en_US.ISO-8859-15"
LC_NAME="en_US.ISO-8859-15"
LC_ADDRESS="en_US.ISO-8859-15"
LC_TELEPHONE="en_US.ISO-8859-15"
LC_MEASUREMENT="en_US.ISO-8859-15"
LC_IDENTIFICATION="en_US.ISO-8859-15"
LC_ALL=

这显然是错误的,因为它会抛出各种警告。我该如何修复这个问题?

答案1

您可以手动创建缺少的区域设置定义:sudo locale-gen en_US.ISO-8859-15

另一个选项是默认使用不同的语言环境,例如应该存在的C.UTF-8或。要在 bash 中尝试: 。如果它在交互式会话中有效,您可以将其添加到,然后可以通过将其拾取到新的用户主目录中。POSIXexport LC_ALL=POSIX/etc/skel/.bashrcadduser

答案2

我不得不用

locale-gen en

来修复这个问题。'en' 参数是必需的,令我惊讶的是,其他替代方案(例如 en_GB 或 en_GB.UTF8)似乎不起作用,而 en 却起作用了。

相关内容