Manjaro(Archlinx)下中文输入法无法使用的最全解决方案

更新:
有读者评论反馈到有更简单的解决方案,我还未曾试验,有使用的朋友可以留言。

通过编辑/etc/environment或/etc/profile添加你所提到的三个环境变量即可解决FCITX在所有软件的中文输入问题。


原文:
manjaro拥有arch系宇宙第一的包管理以及各种随心所欲的定制,是我用过最方便的Linux,然而不能输入中文让许多人望而却步,投奔其他Linux。

同样,我也遇到了manjaro中文输入法难解决的问题,故把详细解决方案完整记录下来,方便以后查找使用。

如何安装中文输入法?
建议安装qt4,qt5,gtk2,gtk3四个版本的fcitx+sogou输入法
命令如下:

sudo pacman -Sy fcitx-config \
fcitx-gtk2 \
fcitx-gtk3 \
fcitx-qt4 \
fcitx-qt5 \
fcitx-sogoupinyin

ps:如果找不到fcitx-sogoupinyin则需要添加archlinux源,具体请参考:arch/Manjaro 添加国内源以及社区源

以下是解决方案:

1. 环境变量设置:

sudo vim ~/.bashrc

通过vim在 ~.bashrc或.profile中添加如下环境变量:

export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx

执行以下命令生效:

source ~/.bashrc

如果此时还存在部分软件无法使用fcitx,请继续往下看解决方案。


以下看看就好,不需要复制:
注意:网上有部分教程加入了
export XIM=fcitx
export XIM_PROGRAM=fcitx
arch wiki中有提到XIM会使得部分软件无法使用fcitx,所以不建议安装和设置XIM,建议安装fcitx的qt,gtk版本


2. fcitx快捷键与部分软件快捷键产生冲突

安装fcitx-configtool工具来设置快捷键
如果不知道该设置什么,可以参考我使用的快捷键。


输入法配置

如果此时中文输入法问题还未解决,请继续往下看:

3. 修改GSettings配置

(参考arch wiki)如果你使用的是gnome桌面,可以尝试在终端执行如下命令:

gsettings set \
 org.gnome.settings-daemon.plugins.xsettings overrides \
 "{'Gtk/IMModule':<'fcitx'>}"

如果此时中文输入法问题还未解决,请继续往下看:

4. 重新安装fcitx

如果fcitx调用时出现错误异常,请执行以下命令:

rm -rf ~/.config/fcitx  
rm -rf ~/.sogouinput #如果安装了sogou输入法也执行这个

如果此时中文输入法问题还未解决,请继续往下看:

5. 针对部分软件的环境变量设置

一般来说到了这步,fcitx在绝大部分的软件中是可以正常使用的。只是在wpsQtjetbrains全家桶deepin-TIMdeepin-wechat等软件中无法使用中文输入。
针对以上软件,在下列对应文件中单独添加如下环境变量:

export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"

deepin-wine系列的举例如下:
TIM:
/opt/deepinwine/apps/Deepin-TIM/run.sh
微信:
/opt/deepinwine/apps/Deepin-WeChat/run.sh


WPS:
/usr/bin/wps
/usr/bin/wpp
/usr/bin/et


Jetbrain系列举例如下:
Goland:
/opt/goland/bin/goland.sh


如果出现问题的软件不再我所述范围内的话,可以先尝试寻找其运行的sh文件,如果找不到,再尝试在/usr/bin文件夹中寻找。

相信到了这里,中文输入的问题已经得到了完美解决~
如果还有遇到其它问题的欢迎评论~

推荐阅读更多精彩内容