linux更改环境变量语言utf8,记Centos修改语言环境变量$LANG不生效原因

问题背景:

编辑 /etc/locale.conf 改成 LANG="en_US.UTF-8" , 重启服务器后,进入系统,仍然是显示中文

排查分析:(复现问题环境)

确认当前系统支持 en_US.UTF-8 语言环境(en_US.utf8 和 en_US.UTF-8 两种写法效果一致)

# locale -a | grep en_US

en_US

en_US.iso88591

en_US.iso885915

en_US.utf8 //英文utf8语言环境是支持的

确认当前系统生效的语言环境

root@BJ-CentOS7 ~ # echo $LANG

zh_CN.UTF-8 //生效中的语言环境是中文utf8

root@BJ-CentOS7 ~ # locale

LANG=zh_CN.UTF-8 //生效中的语言环境是中文utf8

LC_CTYPE="zh_CN.UTF-8"

LC_NUMERIC="zh_CN.UTF-8"

LC_TIME="zh_CN.UTF-8"

LC_COLLATE="zh_CN.UTF-8"

LC_MONETARY="zh_CN.UTF-8"

LC_MESSAGES="zh_CN.UTF-8"

LC_PAPER="zh_CN.UTF-8"

LC_NAME="zh_CN.UTF-8"

LC_ADDRESS="zh_CN.UTF-8"

LC_TELEPHONE="zh_CN.UTF-8"

LC_MEASUREMENT="zh_CN.UTF-8"

LC_IDENTIFICATION="zh_CN.UTF-8"

LC_ALL=

查看系统中当前配置,确实配置的是英文,并且已经重启过服务器,环境变量$LANG的配置应该生效才对,其他相关配置文件中也没发现相关配置

root@BJ-CentOS7 ~ # grep LANG /etc/locale.conf

LANG="en_US.UTF-8"

root@BJ-CentOS7 ~ # grep LANG /etc/profile

root@BJ-CentOS7 ~ # grep LANG ~/.bashrc

发现VNC下正常生效,远程连接不生效

问题基本清楚了,远程连接时SSH的配置传递了当前环境变量配置到远程主机会话中

ssh配置文件参考简介:https://www.cnblogs.com/52linux/archive/2012/03/24/2415470.html

原来是作为跳板的服务器和要连接的目标服务器中默认配置了 SendEnv 和 AcceptEnv 参数,且客户端和远程主机中都配置了 $LANG 变量,这导致客户端环境中指定的环境变量在远程会话中生效了

客户端 ssh_config 配置文件中:SendEnv 参数用来定义发送哪些环境变量到远程会话中

远程主机 sshd_config 配置文件中:AcceptEnv 参数用来定义接收哪些匹配到的环境变量

root@BJ-CentOS7 ~ # grep AcceptEnv /etc/ssh/sshd_config

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE

AcceptEnv XMODIFIERS

root@BJ-CentOS7 ~ #

root@BJ-CentOS7 ~ # grep SendEnv /etc/ssh/ssh_config

SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE

SendEnv XMODIFIERS

411d3911ef173e451d3e6538cbb811a1.png

解决方案:

直接通过远程工具连接服务器,将不受客户端 ssh 配置影响

在客户端或远程主机SSH配置中去掉$LANG变量传递的相关配置

ssh_config 和 sshd_config 配合文件中分别去掉 SendEnv 和 AcceptEnv 参数后的 LANG 值

2c247c1bb5d5b9f88c995c403f41ac4b.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值