帖子内容
关于 locale 和时区 首先,每台机器上都要安装一些 locale。有两种安装方法,一种是 apt install locales-all,这会安装上所有的 locale,然后就可以随便选用了,但会占用几百 MB。另一种是 apt install locales,这会安装上所有 locale 的源代码,只有几十 MB,但需要编辑 /etc/locale.gen 文件,取消注释自己需要的 locale,然后运行 locale-gen 命令,才会按需编译出选择的 locale。 其次,需要通过环境变量指定自己要用的 locale,有多个变量负责不同方面,参见 https://wiki.archlinux.org/title/locale 。这些变量在 login 过程中会被自动从 /etc/default/locale 设置,但也可以覆盖,一般 ssh 也会传输它。只有当设置的 locale 是机器上已经安装的时才有用。 我的结论是给我所有机器装 locales-all,然后在自己的 bashrc 中配置喜欢的 locale: export LANG=zh_CN.UTF-8 # 按拼音排序、公制单位、数字格式、A4 纸张…… export LANGUAGE=en_US:en:zh_CN:zh # 接受的语言列表 export LC_MESSAGES=en_US.UTF-8 # 首选语言 export LC_TIME=en_DK.UTF-8 # ISO 8601 日期和时间格式 时区首先看 TZ 环境变量,如果没有的话会看 /etc/localtime 或 /etc/timezone。最好配置 TZ 环境变量,否则性能较差(而且 bashrc 是跟着我的,这才正确,即使我在用一台海外的机器,我也还是想看北京时间): export TZ=Asia/Shanghai