Ubuntu 解决 locale 问题

在远程连接 ubuntu的时候,有时候会碰到类似以下错误:

Cannot set LC_CTYPE to default locale: No such file or directory

原因大约有以下几种:

  • 操作系统找不到指定的系统语言包
  • 远程连接时没有指定默认语言

步骤1:先查看当前系统语言

locale

步骤2:检查已安装的语言并安装缺乏的语言

locale -a

如果其中没有你想要的语言,则执行以下命令来安装:

//例如,安装中文
/usr/share/locales/install-language-pack zh_CN
//删除不想要的语言
/usr/share/locales/remove-language-pack zh_CN

如果因为某些原因,语言已安装,但locale信息没有自动生成,可以执行以下命令手工生成:

//zh_CN.UTF-8为你需要使用的语言
locale-gen zh_CN.UTF-8

步骤3:修改当前用户的环境变量

//只在当前会话中生效
export LC_ALL="en_US.UTF-8"
//再次检查 locale 设置是否没问题
locale
//正常情况,你会看到如下信息
LANG=en_US.UTF-8
LANGUAGE=en_US:en
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=en_US.UTF-8

步骤4:此时已经可以确定配置成功,需要将环境变量写入用户配置文件,以便每次连接都会正确设置 locale

echo "export LC_ALL=\"en_US.UTF-8\"" | tee ~/.bash_profile

大功告成!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章