众所周知,我们大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呗.
fcitx
的qt
支持库,根据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
命令查找其位置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
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