字符集本地化(locale)与输入法系列讲座-----(4) Ubuntu Locale配置问题根源解决之道
2009-07-23 23:25
344 查看
1. No such file 用locale命令
的时候就会出现
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
2. perl warning, please check if supported 在apt-get install/remove的时候出现
perl: warning: Please check that your locale settings: LC_ALL = (unset), LC__FASTMSG = "true", LC_MESSAGES = "", LANG = "zh_CN" are supported and installed
相关命令
locale 查看现在的locale配置
环境
localepurge 配置需要的locale(如果没有这个命令,用apt-get install localepurge安装
)
locale-gen 生成需要的locale文件
,
参数 --purge用来删除所有旧的配置,在出现问题时很有用
相关的文件
其实在man locale-gen和man 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@xjl-desktop:~# 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@xjl-desktop:~# 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看看,没错误了。
root@xjl-desktop:~# 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=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=
appendix:
一、locale的五脏六腑
1、 语言符号及其分类(LC_CTYPE)
2、 数字(LC_NUMERIC)
3、 比较和排序习惯(LC_COLLATE)
4、 时间显示格式(LC_TIME)
5、 货币单位(LC_MONETARY)
6、 信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等(LC_MESSAGES)
7、 姓名书写方式(LC_NAME)
8、 地址书写方式(LC_ADDRESS)
9、 电话号码书写方式(LC_TELEPHONE)
10、度量衡表达方式(LC_MEASUREMENT)
11、默认纸张尺寸大小(LC_PAPER)
12、对locale自身包含信息的概述(LC_IDENTIFICATION)。
locale
的设定:
LC_ALL和LANG
优先级的关系:LC_ALL > LC_* >LANG
1、如果需要一个纯中文的系统的话,设定LC_ALL= zh_CN.XXXX,或者LANG
=zh_CN.XXXX都可以。
2、如果只想要一个可以输入中文的环境,而保持菜单、标题,系统信息等等为英文界面,那么只需要设定 LC_CTYPE=zh_CN.XXXX,LANG
=en_US.XXXX就可以了。
3、假如什么也不做的话,也就是LC_ALL,LANG
和LC_*均不指定特定值的话,系统将采用POSIX作为lcoale,也就是C locale
。
的时候就会出现
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
2. perl warning, please check if supported 在apt-get install/remove的时候出现
perl: warning: Please check that your locale settings: LC_ALL = (unset), LC__FASTMSG = "true", LC_MESSAGES = "", LANG = "zh_CN" are supported and installed
相关命令
locale 查看现在的locale配置
环境
localepurge 配置需要的locale(如果没有这个命令,用apt-get install localepurge安装
)
locale-gen 生成需要的locale文件
,
参数 --purge用来删除所有旧的配置,在出现问题时很有用
相关的文件
其实在man locale-gen和man 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@xjl-desktop:~# 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@xjl-desktop:~# 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看看,没错误了。
root@xjl-desktop:~# 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=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=
appendix:
一、locale的五脏六腑
1、 语言符号及其分类(LC_CTYPE)
2、 数字(LC_NUMERIC)
3、 比较和排序习惯(LC_COLLATE)
4、 时间显示格式(LC_TIME)
5、 货币单位(LC_MONETARY)
6、 信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等(LC_MESSAGES)
7、 姓名书写方式(LC_NAME)
8、 地址书写方式(LC_ADDRESS)
9、 电话号码书写方式(LC_TELEPHONE)
10、度量衡表达方式(LC_MEASUREMENT)
11、默认纸张尺寸大小(LC_PAPER)
12、对locale自身包含信息的概述(LC_IDENTIFICATION)。
locale
的设定:
LC_ALL和LANG
优先级的关系:LC_ALL > LC_* >LANG
1、如果需要一个纯中文的系统的话,设定LC_ALL= zh_CN.XXXX,或者LANG
=zh_CN.XXXX都可以。
2、如果只想要一个可以输入中文的环境,而保持菜单、标题,系统信息等等为英文界面,那么只需要设定 LC_CTYPE=zh_CN.XXXX,LANG
=en_US.XXXX就可以了。
3、假如什么也不做的话,也就是LC_ALL,LANG
和LC_*均不指定特定值的话,系统将采用POSIX作为lcoale,也就是C locale
。
相关文章推荐
- 字符集本地化(locale)与输入法系列讲座-----(6) ubuntu9.04下安装scim 及英文下激活scim
- Ubuntu Locale配置问题根源解决
- Ubuntu Locale配置问题根源解决之道
- Ubuntu Locale配置问题根源解决之道
- 字符集本地化(locale)与输入法系列讲座-----(2) linux字体技术原理------X的字体引擎
- Ubuntu Locale配置问题根源解决之道
- 字符集本地化(locale)与输入法系列讲座-----(3) truetype造字程序详解
- Ubuntu Locale配置问题根源解决
- Ubuntu Locale配置问题根源解决之道
- 字符集本地化(locale)与输入法系列讲座-----(1) UTF-8 and Unicode FAQ
- 字符集本地化(locale)与输入法系列讲座-----(5) locale 详解
- Ubuntu Locale配置问题根源解决之道
- 解决:ubuntu16.04下修改mysql字符集为utf8却找不到配置文件的问题
- ubuntu 设置字符集 locale(解决乱码问题)
- 【vim环境配置】解决ubuntu上 由YouCompleteMe插件配置不当引起的 自动补全失效的问题
- 在ubuntu中配置SSH(解决connect to host localhost port 22: Connection refused问题)
- 解决Ubuntu下输入法不显示问题
- Ubuntu14.04解决输入法问题
- Ubuntu问题记录-解决Ubuntu16.04上WPS,intellij idea系列包括Android Studio无法使用fcitx的搜狗拼音的问题
- ubuntu主机配置FTP后解决无法接受文件上传的问题