很多朋友在安装ubuntu时第一步没有选择中文简体语言,而导致locale设定为英文语系,导致中文输入法无法调出。怎么办呢?实际很好解决。
linux中locale环境变量代表着语系,其中的LC_CTYPE代表着输入法设定
1)查看你的locales
$ locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.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=
注意上面的LC_CTYPE,要为中文语系,现在这个状态就是正确的。如果为en_US.UTF-8 那就是英文输入语系了,需要修改为中文输入语系。同时注意LC_ALL一旦设定值,则其他所有值的设定会因被覆盖而无效。
2)怎么把LC_CTYPE 改为中文语系呢?
我们先通过修改环境变量的方法试试,
$sudo vim /var/lib/locales/supported.d/local //此文件列出了你希望本地支持的语系,后面加入zh_CN.UTF-8 UTF-8 ,保存退出
$sudo locale-gen //生成语系支持文件,使语系支持生效
$sudo export $LC_CTYPE=zh_CN.UTF-8
$sudo dpkg-reconfigure locales
执行完上面这些步骤后我们会发现一旦重启或者log out,LC_CTYPE又被还原为原来的值
3)一劳永逸的方法就是配置文件,搜索了一下发现有个/etc/default/locale配置文件
在后面加入LC_CTYPE="zh_CN.UTF-8"
保存,退出
4)如果你已经安装了scim,并安装了相应的输入法.log out(登出系统),再log in,ctr+space,是不是期待已久的中文输入法调用出来了!
参考:
修改ubuntu默认字符集
http://www.javaeye.com/wiki/topic/600811
Ubuntu 9.10 增加 / 設定 語系(Locale)
http://plog.longwin.com.tw/my_note-unix/2009/11/18/ubuntu-910-add-set-locale-gen-2009
locale設定方式
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?viewmode=compact&topic_id=26&forum=2