Fedora设置fcitx中文输入

使用Fedora作为工作桌面,实现中文输入是关键的环节。由于我选择了LXQt这个混合了Qt和GTK+的轻量级桌面,所以选择中文输入法也主要考虑轻量级:快速且功能简洁。对比了ibus,fcitx的一些网上文档,最终选择fcitx作为输入法:

  • 以往使用Linux桌面,对fcitx的性能印象较好,ibus早期版本输入速度较慢耗资源(后期版本有很大改善,和Gnome兼容性较好)

  • ibus对Qt支持可能存在一些不足 (参考archlinux: IBus

  • Ubuntu 15及以上版本默认推荐使用fcitx替代早期版本中默认使用的ibus(参考Ubuntu Chinese Setup

非KDE环境可能安装fcitx-module-kimpanel会导致fcitx输入中文时不显示候选词框,需要移除。(参考Ubuntu安装Fcitx以及Fcitx输入中文不显示候选词框的解决办法,记录未验证)

安装fcitx

  • 安装fcitx-qt5和fcitx就可以默认安装相关软件包

yum install fcitx-qt5 fcitx fcitx-configtool fcitx-libpinyin

fcitx-configtool是基于GTK的配置工具,非常好用,避免手工编辑配置文件。fcitx-libpinyin是代替了sunpinyin的改进版本,性能较好功能够用。

配置fcitx

  • 编辑 ~/.xprofile

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
  • 设置正确的LC_CTYPE非常重要的步骤,特别是对于选择英文交互界面

编辑/etc/locale.conf 添加一行LC_CTYPE配置类似如下(第一行LANG配置表示使用英文系统)

LANG="en_US.UTF-8"
LC_CTYPE="zh_CN.UTF-8"

一定要设置正确的LC_CTYPE否则会导致ctrl+space快捷键无法切换中文输入法(如firefox/chromium等程序),导致只有leafpad这样简单的gtk程序才能使用中文输入。

  • 由于使用的是xdg兼容桌面LXQt(其他如Gnome/KDE/LXDE/Xfce),所以通过复制桌面自动启动配置就可以在登陆图形界面时自动启动fcitx

cp /usr/share/applications/fcitx.desktop ~/.config/autostart/fcitx.desktop

switch to ibus

最近一次Fedora升级后fcitx无法正常呼出,所以切换到ibus输入法:

参考What is the Preferred Method for Installing a Chinese Input Method Editor (IME) in Fedora 22?

dnf remove fcitx-qt5 fcitx fcitx-configtool fcitx-libpinyin
mv ~/.xprofile ~/.xprofile.bak
rm -f ~/.config/autostart/fcitx.desktop

sudo dnf install ibus-setup ibus-pinyin ibus-qt

cat << EOF > ~/.xprofile
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
EOF

ibus-setup

另外,需要设置ibus-daemon在桌面系统启动时启动。

参考

Last updated