我尝试了所有能找到的方法,包括 dpkg-reconfigure locale、完全重新安装软件包、将 LC_ALL 和其他设置添加到 etc/environment、尝试添加到 /etc/locale.conf、添加到 .bashrc...从 ssh-d 中删除...没有 localepurge 包...
当我输入 locale -a 时,下面是我的转储
root@server:~#locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
C.UTF-8
en_US.utf8
POSIX
在回答我的问题之前,请先测试您的解决方案,方法是创建新用户并输入perl, 你应该不会收到任何警告
问题是我不想将每个用户的区域设置放入 .bashrc 中,我想配置系统范围的区域设置,以便我的用户不会收到以下消息:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = (unset)
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
答案1
您可以尝试使用
sudo localectl set-locale LANG=en_GB.UTF-8
或者
sudo localectl set-locale LANG=en_GB.UTF-8,LC_ALL=en_GB.UTF-8
设置语言(未设置)(以及可选的 catchall)以查看是否能解决问题。localectl list-locales
将告诉您哪些语言适用于您的系统。您需要登录并退出才能反映这一点。