我发现locales
在 Ubuntu 和 CentOS 上以编程方式进行更改非常棘手。我发现很多有关使用控制台界面的指南,例如这里,手动逐步执行操作,但我想在新系统上自动执行我的配置。我应该运行什么命令,以便所有输出locale
都显示en_GB.UTF-8
在以下所有内容上,以便我可以在任何新安装上自动执行此操作?
$ locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=
答案1
以下3种方法在Ubuntu中似乎都有效:
sudo update-locale "LANG=en_GB.UTF-8"; sudo locale-gen --purge "en_GB.UTF-8"; sudo dpkg-reconfigure --frontend noninteractive locales
echo "en_GB.UTF-8" | sudo tee -a /etc/locale.gen; sudo locale-gen
sudo update-locale LANG=en_GB.UTF-8
但是,执行此操作后,当我输入 时locale
,它仍然显示为未配置。我必须重新启动或打开一个新的 bash shell 才能应用配置,我不知道解决方法。