解决 LC_CTYPE

最近换了一台阿里云服务器,在配置这台服务器的时候遇到了一些坑,比如今天这个:Cannot set LC_CTYPE to default locale。

问题描述

在使用很多命令的时候总会最先出来几个警告信息:

 
  
  1. locale: Cannot set LC_CTYPE to default locale: No such file or directory
  2. locale: Cannot set LC_ALL to default locale: No such file or directory

解决办法

警告信息描述得其实也很明白了,就是你设置的 LC_CTYPE 的值对应的文件或目录找不到。

你可以通过 locale 这个命令查看当前系统的语言环境:

 
  
  1. # locale
  2. locale: Cannot set LC_CTYPE to default locale: No such file or directory
  3. locale: Cannot set LC_ALL to default locale: No such file or directory
  4. LANG=en_US.utf8
  5. LC_CTYPE=UTF-8
  6. LC_NUMERIC="en_US.utf8"
  7. LC_TIME="en_US.utf8"
  8. LC_COLLATE="en_US.utf8"
  9. LC_MONETARY="en_US.utf8"
  10. LC_MESSAGES="en_US.utf8"
  11. LC_PAPER="en_US.utf8"
  12. LC_NAME="en_US.utf8"
  13. LC_ADDRESS="en_US.utf8"
  14. LC_TELEPHONE="en_US.utf8"
  15. LC_MEASUREMENT="en_US.utf8"
  16. LC_IDENTIFICATION="en_US.utf8"
  17. LC_ALL=

很容易能够发现这里的 LC_CTYPE 的值和其他几项不一样,没有指定是哪个语言的 UTF-8,所以我们需要重新设置这个值。

LC_CTYPE 可以在 /etc/profile 或者 /etc/profile.d/lang.sh 文件中定义,简单的做法就是在文件末尾加上:

 
  
  1. LC_CTYPE="en_US.utf8"
  2. export LC_CTYPE

然后你 source 更新一下或者重新打开一个终端再使用 locale 命令就发现没有警告信息了。

你可能感兴趣的:(linux)