修改Linux系统locale设置

1.输入locale命令,查看当前设置,显示为:

LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

2.修改/etc/sysconfig/i18n文件为如下内容,如果没有则新建一个:

LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

3.执行source /etc/sysconfig/i18n使修改生效;
4.再次执行locale命令可查看修改已生效:

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=


欢迎关注我的公众号“彤哥读源码”,查看更多“源码&架构&算法”系列文章, 与彤哥一起畅游源码的海洋。

qrcode

### 如何在Linux系统中添加或启用新的locale 为了在Linux系统中添加或启用一个新的locale,通常需要执行几个特定的操作来配置环境变量以及生成所需的locale设置。 #### 配置Locale前的准备 确保已安装必要的软件包。对于基于Red Hat的企业级Linux版本(如RHEL 7),可能不需要额外安装任何东西因为默认已经包含了这些工具[^1]。然而,在某些发行版上,比如Debian或Ubuntu,可能需要先通过`apt-get install locales`命令安装locales包。 #### 查看当前可用Locales 使用如下命令查看当前系统中存在的所有locale: ```bash locale -a ``` 这会列出所有已经被编译过的locale选项。 #### 添加新Locale 如果想要添加一个不在列表中的locale,则需编辑 `/etc/locale.gen` 文件,取消对应locale前面的注释符号(`#`)或者直接添加一行新的locale定义。例如,要激活 `en_US.UTF-8 UTF-8` 和 `zh_CN.GB18030 GB18030` ,可以在该文件里加入这两行: ```text en_US.UTF-8 UTF-8 zh_CN.GB18030 GB18030 ``` 保存更改后运行下面的命令来重新生成所有的locale数据: ```bash sudo locale-gen ``` 此过程将会读取修改后的`/etc/locale.gen`文件,并创建相应的locale条目。 #### 设置系统级别的默认Locale 更新全局环境变量以反映新的默认locale设定。可以通过编辑 `/etc/environment` 或者 `/etc/default/locale` 来实现这一点;具体取决于所使用的Linux发行版。例如,要在整个系统范围内将默认语言设为美式英语(UTF-8),可向上述任一文件追加以下内容: ```text LANG=en_US.UTF-8 LANGUAGE="en_US:en" LC_ALL= ``` 注意这里设置了三个不同的变量:`LANG`, `LANGUAGE`, 及 `LC_ALL`. 这些变量的作用域有所不同,其中最重要的是`LANG`它决定了大多数程序的行为模式。 #### 用户级别自定义Locale 除了改变全系统locale外,还可以单独调整某个用户的locale偏好。只需在其个人shell配置文件(如 `.bashrc` 或 `.profile`)内添加类似的语句即可生效。这样做不会影响其他用户的选择。 #### 测试变更效果 完成以上步骤之后重启计算机使改动正式生效。也可以注销再登录测试是否成功应用了新的locale设置。另外一种方法是在终端窗口中立即加载新的环境变量而无需完全退出session: ```bash source /etc/profile.d/lang.sh # 对于一些系统可能是这个路径下的脚本 export LANG=en_US.UTF-8 # 手动导出单个变量作为临时解决方案 ``` 最后再次调用`locale`命令确认现在的locale确实已被更改为预期值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值