在我的 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 中尝试: 。如果它在交互式会话中有效,您可以将其添加到,然后可以通过将其拾取到新的用户主目录中。POSIX
export LC_ALL=POSIX
/etc/skel/.bashrc
adduser
答案2
我不得不用
locale-gen en
来修复这个问题。'en' 参数是必需的,令我惊讶的是,其他替代方案(例如 en_GB 或 en_GB.UTF8)似乎不起作用,而 en 却起作用了。