(笔记)开机遇到Cannot set LC_CTYPE问题()

 前段时间因为Eclipse里面部分中文注释显示乱码,按照网上设置的方法修改了系统中文编码,结果问题不但没解决,反而把搜狗拼音也搞坏了,总提示我删除.config/SogouPY,系统很多地方都变英文了,打拼音时提示文字也乱码了,估计ubuntukylin一些地方跟ubuntu不一样,我不能胡乱修改的。搜了很多资料,总算解决问题了,按照下文的做法,搜狗拼音能正常使用了。

https://www.linuxidc.com/Linux/2015-09/122999.htm


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

重新生成所有的locale配置

第一步:配置自己想要的locale。普遍推荐的方法是拷贝所有Ubuntu支持的locale到自己的配置文件里,然后编辑。

cp /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/local

vi /var/lib/locales/supported.d/local,用dd命令删啊删,只留下en_系列和zh_系列, 或者其他你要的locale

如:
root@linuxidc:~# more /var/lib/locales/supported.d/local
 en_US.UTF-8 UTF-8
 zh_CN.UTF-8 UTF-8

rm /var/lib/locales/supported.d/en

 rm /var/lib/locales/supported.d/zh 这两个文件跟local一样功能,也可以把en系列写在en文件里,zh系列写在zh文件里,分类方便而已。我既然都写在local里,这两个就用不着了。

 第二步:重新生成locale支持文件

locale-gen --purge

会将/usr/lib/locale/里面的locale支持文件删掉,重新生成。如果设置 的locale没有生成过,或者设置 的时候拼写错误,在这个目录找不到同名的支持文件就会提示 No such file了。

 第三步:配置locale环境。

 敲locale把输出的那些环境变量拷贝到/etc/default/locale里面,自己手工修改。

 如:

root@linuxidc:~# more /etc/default/locale
 LC_CTYPE=en_US.UTF-8
 LC_NUMERIC=en_US.UTF-8
 LC_TIME=en_US.UTF-8
 LC_COLLATE=zh_CN.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=
 LANGUAGE=en_US:en
 GST_ID3_TAG_ENCODING=GBK
 LANG=en_US.UTF-8

可以设的值就是/var/lib/locales/supported.d/local里面包括的值,或者生成在/usr/lib/locale/里面的文件夹名称。

第四步:退出重新登录,再敲locale看看,没错误了


猜你喜欢

转载自blog.csdn.net/tankweight/article/details/79824636