其实本来感觉没有必要写这篇文章的,但是几个周前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或~/.xinitrc1
2
3export 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-zhemerge sougoupinyin
emerge sogoupinyin
这个overlay还有网易云音乐等一些有用的程序。