本文链接:
http://blog.chinaunix.net/u/25081/showart.php?id=405439其实很简单,只是因为自己写错了,结果搞了很久。
fctix 需要读取 LC_CTYPE 环境变量,当然要确保是 zh_CN 开头的编码了, 比如 zh_CN.UTF-8, zh_CN.GBK 之类的了,已证实只写 zh_CN 即可。
也就是说当前只要确保以下几个变量的设置就可以了:
export LC_CTYPE="zh_CN.UTF-8"
export XMODIFIERS="@im=fcitx"
export XIM=fcitx
export XIM_PROGRAM=fcitx |
要让这些变量起作用,最好的方法就是把他加入到启动配置里面。比如: /etc/profile , ~/.bash_profile, 或者 ~/.bashrc, 由于 .bash_profile 一般都会读取 .bashrc 所以我就加在 .bashrc 文件里面。
启动的方式有很多,可以加到 /etc/init.d/ 目录下的某一个自己添加的文件;或者在 gnome 的会话管理器中添加; 或者 Alt+F2 然后直接输入 fctix 。
启动 fctix 后, Ctrl+Space 就可以切换了。
对于中文环境,你需要设置 LANG 环境变量为 LANG=zh_CN.UTF-8 之类的, 而英文环境就要设成 LANG=en_US.UTF-8 , 不论是哪一种,都要注意了,这时还有另外一个变量也在起作用,他会决定你当前的设置是否起作用。哪就是 LC_ALL , 顾名思义,他是 BOSS 级别的。摘录 man locale 里面的一段:
LC_ALL
If set to a non-empty string value, override the values of all the other internationalization
variables. |
所以这时如果你没有检查这个变量,你上面的设定说不定就是白忙活了。干脆让 BOSS 休息算了!
所以你的设置应该是这样:
export LC_ALL= export LANG="en_US.UTF-8" # 英文环境 # export LANG="zh_CN.UTF-8" # 中文环境
export LC_CTYPE="zh_CN.UTF-8"
export XMODIFIERS="@im=fcitx"
export XIM=fcitx
export XIM_PROGRAM=fcitx export GTK_IM_MODULE=fctix # 这一行可以加上
|
千万别写错啦!我就是将 LANG 的值写错了,将 en_US.UTF-8 写成了 en.UTF-8, 这压根儿就不存在的,于是我的环境还是以前设置的中文环境(那时设置了 LC_ALL 为 zh_CN.UTF-8)。如果这时你设置了 LC_ALL 值为空,那么你的恶梦也来了,很多地方的编码设置都不正确,比如 console, vim 之类的。我看了 vim 的 set encoding 发现是拉丁字符集,中文显示乱码没商量。
查看你的设置是否正确的方式是运行 locale , 她会忠实地给您列出当前的相关设置,如果您错待她了,她会抱怨的。看看我以前犯的错吧:
sangix@localhost ~ $ locale
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
LANG=en.UTF-8
LC_CTYPE=zh_CN.UTF-8
...
|
本文链接:
http://blog.chinaunix.net/u/25081/showart.php?id=405439
阅读(1629) | 评论(0) | 转发(0) |