CentOS6/7安装fcitx4.2.5

CentOS 6安装fcitx 4.x.x

yum安装

1.添加软件源
wget http://download.opensuse.org/repositories/home:/cathay4t:/misc-rhel6/CentOS_CentOS-6/home:cathay4t:misc-rhel6.repo   -O    /etc/yum.repos.d/fcitx.repo
yum install fcitx

2.升级和修改gtk.immodules
下面的命令必须以root账户操作,不能以sudo的方式,否则会提示没有权限:
# /usr/bin/gtk-query-immodules-2.0-32 > /etc/gtk-2.0/i386-redhat-linux-gnu/gtk.immodules   (32bit)
# /usr/bin/gtk-query-immodules-2.0-64 >/etc/gtk-2.0/x86_64-redhat-linux-gnu/gtk.immodules   (64bit)

vim   /etc/gtk-2.0/x86_64-redhat-linux-gnu/gtk.immodules
 "/usr/lib64/gtk-2.0/2.10.0/immodules/im-xim.so"
 "xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh"#确保有zh

修改xim.conf
vim  /etc/X11/xinit/xinput.d/xim.conf

在最后面添加下面的内容
XIM=fcitx
XIM_PROGRAM=/usr/local/bin/fcitx #这里请更改为你的 fcitx 执行文件位置,默认安装是这里
XIM_ARGS=" -d"
GTK_IM_MODULE=fcitx
QT_IM_MODULE =fcitx
或者,新建配置文件(推荐):
 vim    /etc/X11/xinit/xinput.d/fcitx.conf
添加以下内容:
XIM=fcitx
XIM_PROGRAM=/usr/local/bin/fcitx
XIM_ARGS=”-d”
GTK_IM_MODULE=fcitx
QT_IM_MODULE =fcitx

以用户(root和普通用户)的身份,建立到fcitx.conf的链接
1、以root的身份
mv  /etc/alternatives/xinputrc{,.bak}    #备份
ln  -s  /etc/X11/xinit/xinput.d/fcitx.conf  /etc/alternatives/xinputrc
2、以普通用户的身份
mv    ~/.xinputrc{,.bak}
ln    -s      /etc/X11/xinit/xinput.d/fcitx.conf    ~/.xinputrc

在用户目录下创建一个名为.xprofile 的文件
vim    ~/.xprofile
export   LC_ALL=zh_CN.UTF-8
export   XMODIFIERS=@im=fcitx
export   GTK_IM_MODULE=fcitx
export   QT_IM_MODULE=fcitx
eval `dbus-launch --sh-syntax --exit-with-session`
exec fcitx &
退出,重新登录,fcitx便可以使用了。

注意:如果,在gnome-terminal中不能调用fcitx而在xterm中确能使用,说明是直接运用的是底层的XIM,可以在~/.bashrc中添加以下几行
  export XMODIFIERS=@im=fcitx
  export GTK_IM_MODULE=xim # 或者是xim,取决于你是否编译了对应的输入法模块
  export QT_IM_MODULE=xim # 或者是xim,取决于你是否编译了对应的输入法模块


源码安装

官方网站:

https://fcitx-im.org/wiki/Fcitx
http://download.fcitx-im.org/
http://download.fcitx-im.org/fcitx/fcitx-4.2.5.tar.xz
http://download.fcitx-im.org/fcitx/fcitx-4.2.5_dict.tar.xz
https://fcitx-im.org/wiki/Configure_(Other)

说明:最新的4.2.9编译依赖些许不同,这里以fcitx-4.2.5为例
安装编译依赖库
root@localhost:~#yum -y install libxml2-devel doxygen libxkbfile-devel enchant-devel iso-codes-devel libicu-devel  cairo-devel dbus-devel sqlite-devel

系统自带的cmake2.8版本过低,这里源码安装高版本的cmake3.2
root@localhost:~#wget http://www.cmake.org/files/v3.2/cmake-3.2.3.tar.gz
root@localhost:~#tar -xvf cmake-3.2.3.tar.gztar.gz -C /usr/local/src
root@localhost:~#cd /usr/local/src/cmake-3.2.3/
root@localhost:cmake-3.2.3#./bootstrap && make -j4 && make install

安装presage
http://sourceforge.net/projects/presage
root@localhost:~#tar -xvf presage-0.9.1.tar.gz -C /usr/local/src/
root@localhost:~#cd /usr/local/src/presage-0.9.1/
root@localhost:presage-0.9.1#./configure && make -j4 && make install
安装opencc
https://github.com/BYVoid/OpenCC
root@localhost:~#git clone https://github.com/BYVoid/OpenCC.git
root@localhost:~#mkdir OpenCC/build
root@localhost:build#cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DENABLE_GETTEXT:BOOL=ON ..
root@localhost:build#make -j4 && make install

安装fcitx
root@localhost:~#tar -xvf fcitx-4.2.5.tar.xz -C /usr/local/src/
root@localhost:~#tar -xvf fcitx-4.2.5_dict.tar.xz -C /usr/local/src/
root@localhost:~#mkdir /usr/local/src/fcitx-4.2.5/build
root@localhost:~#cd /usr/local/src/fcitx-4.2.5/build
root@localhost:build#cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DENABLE_GETTEXT:BOOL=ON ..
root@localhost:build#make -j4 && make install
root@localhost:~#ln -s /usr/lib/libfcitx* /usr/lib64/

配置fcitx
用户级配置文件
root@localhost:~#cat >>.bashrc <<HERE
export XIM=fcitx
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
HERE
或者
全局配置文件
root@localhost:~#cat >>/etc/profile <<HERE
export XIM=fcitx
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
HERE
设置默认输入法
root@localhost:~#cat > /etc/X11/xinit/xinput.d/fcitx.conf <<HERE
XIM=fcitx
XIM_PROGRAM=/usr/bin/fcitx
XIM_ARGS=”-d”
GTK_IM_MODULE=fcitx
QT_IM_MODULE =fcitx
HERE
root@localhost:~#mv /etc/alternatives/xinputrc{,.bak}
root@localhost:~#ln -s /etc/X11/xinit/xinput.d/fcitx.conf /etc/alternatives/xinputrc


CentOS7还需要如下步骤

root@localhost:~#gtk-query-immodules-3.0-64
# GTK+ Input Method Modules file
# Automatically generated file, do not edit
# Created by gtk-query-immodules-3.0-64 from gtk+-3.8.8
#
# ModulesPath = /usr/lib64/gtk-3.0/3.0.0/x86_64-redhat-linux-gnu/immodules:/usr/lib64/gtk-3.0/3.0.0/immodules:/usr/lib64/gtk-3.0/x86_64-redhat-linux-gnu/immodules:/usr/lib64/gtk-3.0/immodules
#
"/usr/lib64/gtk-3.0/3.0.0/immodules/im-ibus.so"
"ibus" "IBus (Intelligent Input Bus)" "ibus" "" "ja:ko:zh:*"

"/usr/lib64/gtk-3.0/3.0.0/immodules/im-xim.so"
"xim" "X Input Method" "gtk30" "/usr/share/locale" "ko:ja:th:zh"

"/usr/lib64/gtk-3.0/immodules/im-fcitx.so"
"fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"

root@localhost:~#ln -s /usr/lib64/gtk-2.0/2.10.0/immodules/im-fcitx.so /usr/lib64/gtk-3.0/immodules/

原文地址:https://www.cnblogs.com/lixuebin/p/10814700.html