liunx 安装中文输入法

系统装好后首先要做的就是安装中文输入法。在网上找了一些中文输入法的资料,最常用的是Fcitx和SCIM输入法。不过好像SCIM的问题比较多,而且据说Fcitx的功能上也要比SCIM强得多,所以决定采用Fcitx输入法。

卸载SCIM
为了避免安装中出现一些问题,在这之前先要卸载掉系统自带的SCIM输入法
sudo apt-get remove --purge scim* // 删除SCIM及其配置文件
sudo apt-get autoremove // 删除被SCIM依赖的,不再使用的package
sudo apt-get install -f // 尝试修正安装过程中出现的依赖性关系
注:也可以通过"新立得软件包管理器(Synaptic Package Manager)"来卸载SCIM

安装Fcitx
下载最新的稳定的预编译包(http://www.fcitx.org/download/fcitx-3.4.2-bin.tar.bz2),解压到任意目录。启动控制台,进行那个目录执行sudo ./fcitx.install进行安装(只是复制了几个文件到目标目录)。反安装也是在该目录下面执行sudo ./fcitx.uninstall(如果知道安装到哪了直接删除也行)。

因为要在英文locale下启动Fcitx输入法,所以在/etc/X11/xinit/xinput.d/下新建一个文件en_US,文件内容如下:
XMODIFIERS="@im=fcitx"
XIM=fcitx
XIM_PROGRAM=/usr/bin/fcitx
XIM_ARGS=""
GTK_IM_MODULE=XIM
QT_IM_MODULE=XIM
DEPENDS="fcitx"

$ ls -l /etc/X11/xinit/xinput.d
total 24
drwxr-xr-x 2 root root 4096 2008-10-30 07:10 .
drwxr-xr-x 3 root root 4096 2008-10-30 07:03 ..
lrwxrwxrwx 1 root root   32 2008-11-05 00:31 all_ALL -> /etc/alternatives/xinput-all_ALL
-rw-r--r-- 1 root root 1152 2008-01-08 18:41 default
-rw-r--r-- 1 root root  601 2008-01-08 18:41 default-xim
-rw-r--r-- 1 root root  601 2008-01-08 18:41 en_US
-rw-r--r-- 1 root root  474 2008-01-08 18:41 none
-rw-r--r-- 1 root root  451 2008-10-27 05:54 scim-bridge
lrwxrwxrwx 1 root root   30 2008-11-05 00:31 th_TH -> /etc/alternatives/xinput-th_TH
-rw-r--r-- 1 root root  610 2008-01-08 18:41 th-xim

重启X Window后Fcitx正常启动,输入条位于屏幕顶端,但是按Ctrl+Space无法调出中文输入,用鼠标点小企鹅也不行。这时需要编辑/usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules文件,找到
"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"

使Xim在英文环境下也能启动。保存退出,重启X后中文输入就可以被正常调出了。

安装中文所需的Locale包
现在还有个问题就是输入法尾部出现乱码,输入条下的待选字也是乱码,即只显示一些小方框,如下图
fcitx-invalid-characters.png

这是因为缺少中文Locale文件导致,需要安装两个中文Locale包。
sudo apt-get install language-pack-zh
sudo apt-get install language-pack-gnome-zh

或者,也可以将~/.fcitx/config中的
显示字体(中)=*
改成
显示字体(中)=AR PL UMing CN #填你喜欢的中文字体

重新启动后就可以使用Fcitx输入法了。

安装Fcitx时遇到的问题
安装好fcitx后执行sudo im-switch -s fcitx -z all_ALL,结果报错:
No system wide default defined just for locale en_US.
Use "all_ALL" quasi-locale and set IM.
update-alternatives: Cannot find alternative '/etc/11/xinit/xinput.d/fcitx'

而这时候查看该文件夹,发现fcitx文件确实是存在的。

帖子http://wiki.ubuntu.org.cn/Talk:中文输入法fcitx上说需要先执行
update-alternatives --install /etc/X11/xinit/xinput.d/all_ALL xinput-all_ALL /etc/X11/xinit/xinput.d/fcitx 30

然后执行im-switch才可以。但是我在update-alternatives后执行im-switch却出现下面的提示信息:
No system wide default defined just for locale en_US.
Use "all_ALL" quasi-locale and set IM.
Using '/etc/X11/xinit/xinput.d/fcitx' to provide 'xinput-all_ALL'

猜你喜欢

转载自jiediax.iteye.com/blog/787729
今日推荐