Ubuntu 18.04在QtCreator和sublime中使用fcitx输入中文

前言

众所周知,我们大Linux在吸引软件厂商这个方面一直都不给力,整个平民级软件生态像是后妈生的,零零散散,能用还真的不多.什么没有游戏啊,没有语音助手啊,但不得不说开发工具基本还是齐全的,各种环境也是无痛安装非常方便.但Ubuntu上的输入法倒是真奇葩,没有好用的不说,还经常出现问题.明明有一个好用点的fcitx框架(好用只是个人观点),官方偏偏要支持ibus框架.于是我二话不说就:

sudo add-apt-repository ppa:fcitx-team/nightly
sudo apt-get update
sudo apt-get install fcitx

然后把ibus给卸载掉了:

sudo apt-get remove ibus
sudo apt autoremove

在系统设置里将输入法框架切换为fcitx之后,我安装了搜狗输入法.本以为一切都结束了,但我知道肯定没有这么简单,果然,并没有得到Ubuntu官方支持的fcitx框架,在系统UI(比如系统搜索框)将无法输入中文,当然这个问题不算严重,我没有去管,但是QtCreator不支持fcitx中文输入,这让我几乎不能忍受,此外我还发现sublime-text也不支持,那还不简单?Google呗.

问题解决

QtCreator

  • 首先确保安装fcitxqt支持库,根据qt版本而定,我安装的qt是5.12.0:
sudo apt-get install fcitx-frontend-qt5
  • 我们要启用qt下对fcitx的支持,需要的是这个文件libfcitxplatforminputcontextplugin.so.在安装完上述支持库之后,该文件可以在/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/下找到
  • 或者通过dpkg -L fcitx-frontend-qt5 | grep .so命令查找其位置
  • 然后我们将这个文件复制到QtCreator安装目录qt编译器的安装目录,并赋予权限:
cd ~/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so .
chmod a+x libfcitxplatforminputcontextplugin.so

cd ~/Qt/5.12.0/gcc_64/plugins/platforminputcontexts
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so .
chmod a+x libfcitxplatforminputcontextplugin.so
  • 注意这里设置编译器的支持是为了编译之后的程序能够接受中文输入
  • 重启QtCreator即可,现在就可以使用fcitx框架下的中文输入法了.

sublime-text

  • 此方法同样适用于Atom
  • 首先从网上git一个项目下来:
git clone https://github.com/lyfeyaj/sublime-text-imfix.git
  • 进入下载好的目录并执行文件:
cd sublime-text-imfix && ./sublime-imfix
  • 问题解决

这里说明一点,项目的README.md文件中说了这样一句:

这个修复仅当在终端中使用 subl . 调用 Sublime Text 的时有效, 具体原因请看源代码src/subl

但在Ubuntu 18.04下,并没有这个问题,通过应用程序调用sublime一样可以输入中文,Atom同理.

多说一句

fcitx实际上bug也挺多的,其中一个bug就是无法保存上一次的设置.而且奇葩的是可以保存部分设置,比如切换激活输入法快捷键设置可以保存,但是额外的激活输入法快捷键却保存不上,而默认是左shift,因为平常编程不怎么使用中文,容易误触,所以想把它禁用了,我平常只用ctrl+alt+space切换中英文输入法.

问题解决如下:

  • 打开fcitx配置,调整好你的设置,在关闭之前,运行:
sudo chown root:root ~/.config/fcitx/config
  • 关闭程序即可保存更改的设置

猜你喜欢

转载自blog.csdn.net/AAMahone/article/details/86509370