Tuesday, September 8, 2009

英文Locale下使用中文输入法

更多精彩请到 http://www.139ya.com

http://wiki.ubuntu.org.cn/%E8%8B%B1%E6%96%87Locale%E4%B8%8B%E4%BD%BF%E7%94%A8%E4%B8%AD%E6%96%87%E8%BE%93%E5%85%A5%E6%B3%95


本文作用:

如果你的locale设置为英文,并安装了中文输入法,但它工作不正常,那么本文是你需要的。本文只关注英文locale下的问题。

本文作者:chinakr

授权许可:


如果你在英文locale下,正确安装scim或fcitx后仍无法正常使用输入法,解决的方法如下:


sudo aptitude install im-switch

如果你用scim,运行

sudo im-switch -s scim -z all_ALL
im-switch -s scim -z all_ALL

如果你用fcitx,运行

sudo im-switch -s fcitx -z all_ALL
im-switch -s fcitx -z all_ALL

这样,以后你就可以任意locale(英文、法文、藏文、维吾尔文,等等)下使用你喜欢的输入法了。

其实im-switch不过是帮你修改了几个配置文件而已。如果你实在不想装im-switch,也可以手动修改配置文件(比如下面就是一个加入en locale支持的例子,不过小心,有省力的软件帮你配置不用,一定要自己手工改,会被别人说你在装B哦)。

编辑 /etc/gtk-2.0/gtk.immodules(如果存在的话) 或者 /usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules 文件,在xim 的 local 增加 en 也就是说:

"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh"

改成

"xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh"

保存退出,重启后再进就ok了.


[编辑] fcitx输入法

1. 安装

sudo apt-get install fcitx

2. 设置环境变量

echo -e "export XMODIFIERS=@im=fcitx\nexport GTK_IM_MODULE=\"xim\"\nexport QT_IM_MODULE=\"xim\"\nfcitx &">>~/.profile

3. 重启X

4. 方块字

gedit --encoding gbk ~/.fcitx/config

显示字体(中)=*

改为:

显示字体(中)=AR PL UMing CN #填你喜欢的中文字体

在fcitx激活状态( Ctrl+Space )下按 Ctrl+5 启用配置,重启X亦可。


以下待整理

补充作者:aBiNg

声明:你必须知道你在执行什么,请慎重操作!


如果是像本人一样,在英文locale环境下,只使用fcitx作为默认输入法的五笔用户,可以考虑删除scim。

删除scim

sudo apt-get remove --purge scim-*
sudo apt-get autoremove
sudo apt-get install -f
注:系统自动清理时,会提示删除ubuntu-desktop以及个别语言包之类,请自行google,再作决定。


安装fcitx

sudo apt-get update
sudo apt-get install fcitx
注:有的源中的fcitx存有bug(能调出输入法,但中文无法输入),请自行到fcitx官网下载页下载,按照说明文档编译安装 。


设置中文输入环境

echo 'LC_CTYPE=zh_CN.UTF-8' | sudo tee - -a /etc/environment


保存你的所有工作,重启X(ctrl+alt+backspace)。

ctrl+space调出/隐藏fcitx界面。


注:有些桌面环境(比如Fluxbox)可能并不能自动启动fcitx,可以在相应的启动脚本中(比如Fluxbox的启动脚本位于 ~/.fluxbox/startup)加入启动命令(比如 fcitx &)。也有其它的启动方法,请google。

注意,在纯英文环境下(没有安装任何中文支持),可能做了如上修改后fcitx仍然显示方块,这就是你的电脑中没有生成cn环境,可能进行如下修改以生成cn环境。

sudo gvim /var/lib/locales/supported.d/zh

加入如下内容
zh_SG.UTF-8 UTF-8
zh_HK.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GB2312 GB2312
zh_CN.GBK GBK
zh_CN.GB18030 GB18030
zh_HK.Big5 Big5
zh_TW.Big5 Big5

然后
sudo locale-gen
生成可能要几分钟,等等就行了,这样的话,在纯英文环境中fcitx也可正常显示状态栏上的文字了。

No comments: