gentoo下配置中文输入法(搜狗输入法)

其实本来感觉没有必要写这篇文章的,但是几个周前gentoo升级时搜狗输入法滚挂了,解决问题后,我感觉有些之前没有遇到的问题,有必要记下来,以方便以后自己查看。这里汇总一下最近安装fcitx输入法框架遇到的问题,一并把搜狗输入法的安装写进来。

配置locale

如果使用的是英文系统,系统区域(system locale)一定不能选C或者POSIX,我个人建议选择en_US.utf8。

对于openRC:使用eselect locale list查看LANG的可选值,然后eselect locale set 4 “4”要用对应的值。
对于systemd:可以使用localectl list-locales查看LANG的可选值,用localectl set-locale LANG=en_US.utf8设置locale

最近遇到的问题:如果单纯设置LANG=en_US.utf8的话,在chromium等程序中会出现输入法无法使用的情况。所以locale还需要进一步配置。

如果使用openRC,那么执行vim /etc/env.d/02locale,在打开的文件尾添加

LC_CTYPE=”zh_CN.UTF-8”

这样在chromium中就能正常使用fcitx了。
如果使用systemd,这个我还真没有试过。。

安装fcitx框架

emerge –ask app-i18n/fcitx

建议USE FLAG添加gtk,gtk3或qt4

安装完成后还需要配置一下环境变量,才能在Xorg中正常使用输入法。
如果使用的是GDM、LightDM等登陆管理器,把下面的语句添加到~/.xprofile文件中,如果用的是startx或SLIM,把下面的语句添加到~/.xinitrc文件中。

如果安装时添加了gtk,gtk3或qt4的USE FLAG,那么下面例子中的<module>就要用fcitx,否则用xim。

~/.xprofile或~/.xinitrc

1
2
3
export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE=<module>
export GTK_IM_MODULE=<module>

引用一段gentoo wiki上的建议:
It is recommended to start the D-Bus session bus before Fcitx starts. Add these to the beginning of the X start up file (~/.xprofile or ~/.xinitrc):
建议在fcitx启动前启动D-Bus session bus,把下面的语句放到X启动文件(~/.xprofile 或 ~/.xinitrc)开头不过添加与否貌似差别不大。

FILE ~/.xprofile or ~/.xinitrc

1
eval "$(dbus-launch --sh-syntax --exit-with-session)"

FILE ~/.xinitrc

1
eval "$(dbus-launch --sh-syntax --exit-with-session)"

安装输入法主体与配置程序

对于配置程序,如果使用kde,安装app-i18n/kcm-fcitx这个包,否则安装app-i18n/fcitx-configtool(基于GTK)。

注意:如果使用kde,一定要安装app-i18n/fcitx-qt5这个包,否则输入法可能无法在kde的程序下使用。

安装输入法主体

emerge app-i18n/fcitx-cloudpinyin
emerge app-i18n/fcitx-libpinyin

其中cloudpinyin是fcitx的一个插件,顾名思义,它采用google或百度的api,在实际输入还是非常有帮助的。

安装搜狗输入法

搜狗输入法不在gentoo官方的源里,但存在于gentoo-zh这个overlay里。

layman -a gentoo-zh
layman -s gentoo-zh
emerge sougoupinyin
emerge sogoupinyin

这个overlay还有网易云音乐等一些有用的程序。