Ubuntu 16.04中TexStudio切换搜狗输入法(fcitx)

问题描述:

博主使用Ubuntu 16.04系统,已经安装了textlive和搜狗输入法,从TexStudio官网上下载了软件的.deb安装包进行安装,也下载了Linux AppImage二进制文件直接使用,发现在IDE中无法切换搜狗输入法进行中文输入。

解决办法:

(1)使用另外一款Latex编辑器TeXworks,添加官方源,并安装:

sudo add-apt-repository ppa:texworks/stable
sudo apt-get update
sudo apt-get install texworks

(2)删除通过deb包安装的TexStudio,删除已经下载的TexStudio AppImage二进制文件,删除TexStudio的配置文件,从命令行重新安装TexStudio:

sudo apt-get purge texstudio
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm ~/.config/texstudio

sudo apt-get update
sudo apt-get install texstudio

解决过程:

经过查询相关资料,得知导致这一问题的根本原因是Linux系统中,搜狗输入法使用fcitx框架,一些软件(TexStudio,TeXworks等)的图形化界面基于Qt5开发,而Qt5使用基于fctix的输入法是需要相关插件(libfcitxplatforminputcontextplugin.so)的支持,通常放置在:

/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/

网上也有许多教程讲解如何自己编译生成libfcitxplatforminputcontextplugin.so库,还是比较麻烦的,故未尝试;也尝试了在启动软件时设置环境变量的方法,也行不通;还尝试了文末参考资料中的方法,均不行。故而开始转向检查本机上fcitx和Qt的相关设置是否正确,如下:

(1)通过下面的命令检查fcitx相关的环境变量是否设置正确:

printenv |grep fcitx 

发现自己的fcitx相关环境变量设置正确,不需要重复设置,输出结果如下:

QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
QT4_IM_MODULE=fcitx
GTK_IM_MODULE=fcitx

(2)通过下面命令诊断fcitx相关设置:

fcitx-diagnose

发现Qt输入法模块文件也均存在,结果如下:

......

3.  Qt 输入法模块文件:
    找到了 Qt5 的输入法模块: `/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`.
    找到了 Qt4 的输入法模块: `/usr/lib/x86_64-linux-gnu/qt4/plugins/inputmethods/qtim-fcitx.so`.

......

(3)因此,怀疑通过deb包安装或者直接使用AppImage二进制文件时存在依赖的缺失或者相关依赖之间的版本不匹配,故尝试了本博文所述方法,成功解决问题。

教训:

在Linux系统中,为了使用基于fcitx的中文输入法(如,搜狗),安装基于Qt开发的软件时最好从命令行安装,尽量避免使用deb包或者AppImage二进制文件。

参考资料:

[1] texmaker无法使用fcitx输入法?

[2] ubuntu下texstudio或qtcreator无法输入中文的问题

[3] ubuntu 16.04里面的qtcreator或者texstudio无法使用中文输入的问题

[4] wps texstudio不能调用fcitx中文输入,但zim vim firefox octave shell spyder均可

[5] fcitx经常不能输入中文

[6] How to type Chinese by fcitx in texstudio?

[7] How to type Chinese by fcitx in texmaker?

[8] Ubuntu 17.04系统中QT5.9.2支持fcitx输入法的解决方案

[9] ubuntu16.04下安装为知笔记

[10] How to install fcitx-libs-qt5 on Ubuntu 16.04 (Xenial Xerus) 

[11] How To Install "fcitx-libs-qt5" Package on Ubuntu

[12] 谁能够解决Linux下RStudio的fcitx输入不了中文问题

[13] 解决 Debian 中 RStudio 和 Mendeley 下 Fcitx 输入法不能使用的问题

你可能感兴趣的:(linux学习笔记)