登录 ubuntu 12.04 桌面时的区域设置

登录 ubuntu 12.04 桌面时的区域设置

我通过 ssh 登录到 Ubuntu 12.04 桌面,已设置的区域设置环境变量如下:
env | grep LC

LC_PAPER=zh_CN.UTF-8  
LC_ADDRESS=zh_CN.UTF-8  
LC_MONETARY=zh_CN.UTF-8  
LC_NUMERIC=zh_CN.UTF-8  
LC_TELEPHONE=zh_CN.UTF-8  
LC_IDENTIFICATION=zh_CN.UTF-8  
LC_MEASUREMENT=zh_CN.UTF-8  
LC_TIME=zh_CN.UTF-8  
LC_NAME=zh_CN.UTF-8  

所以我的问题是:

在哪里设置这样的环境,为什么不设置 LC_CTYPE 和 LC_MESSAGES?

答案1

当您使用“语言支持”设置语言和区域格式时,生成的环境变量将写入~/.pam_environment,正如您已经发现的那样。当您应用系统范围时,变量将写入/etc/default/locale

LC_MESSAGESLC_CTYPELC_COLLATE未明确设置的原因是LANG已设置,并且 中的语言环境名称LANG由这三个变量继承LC_*。您可以通过运行locale命令而不是 来检查env | grep LC

答案2

/etc/environment对于区域设置,系统范围的环境变量在和中设置/etc/default/locale

/etc/environment - 此文件专门用于系统范围的环境变量设置。它不是脚本文件,而是由每行一个赋值表达式组成。具体来说,此文件存储系统范围的路径设置。

/etc/default/locale - 此文件专门用于系统范围的区域设置 (LC_*) 环境变量设置。它不是脚本文件,而是由每行一个赋值表达式组成。

有关其他信息,请参阅https://help.ubuntu.com/community/EnvironmentVariables#System-wide_environment_variableshttps://help.ubuntu.com/community/Locale

至于“为什么 LC_CTYPE 和 LC_MESSAGES 没有设置?”,我找不到相关讨论,我建议你最好提交错误报告、功能请求或 IRC。你问题的这一部分可能被视为偏离主题且带有推测性。

相关内容