国内做Linux输入法的大厂,基本就只剩百度和搜狗二家了。百度Linux输入法许久未更新,并且最近在使用云输入的时候还会遇到候选字词错位的问题。虽说关闭云输入就可以了,但要是不用云输入,跟直接用google拼音有什么区别?
忍不了,换搜狗。
搜狗输入法linux版好歹23年4月还进行过一次更新,并且在信创Linux上,搜狗似乎还是唯一受支持的中文输入法。
常规流程安装搜狗输入法
首先按照官方文档,安装好fcitx,然后下载和安装搜狗输入法的dpkg包,安装好众多依赖库,然后重启机器。
这一套常规操作下来,搜狗输入法以一种怪异的方式启动了。具体的表现为,中文拼音无法输入,只能敲英文字母,跟没装输入法一个样。但是逗号句号又依旧是中文的逗号句号, 。
在此情况下,我们面临着两个问题,一是QT5依赖库的版本问题,二是搜狗输入法本身的配置问题。接下来两章节会描述如何发现和解决这样的问题。
移除qt5库
为了排查原因,先跑到输入法的安装路径/opt/sogoupinyin/files/bin,随便执行一个可执行程序,比如sogoupinyin-configtool。

从输出的内容中,可以发现,有大量qt5依赖库版本的问题。
从图中,或者用ldd,都可以看到,bin目录下的可执行程序都依赖着/opt/sogoupinyin/files/lib下面的qt5库,而这里的qt5显然是有问题的。有一篇教程指出https://blog.csdn.net/wesleyflagon/article/details/131564216,可以将系统内的动态链接库,复制到/opt/sogoupinyin/files/lib下,替换输入法自带的qt5库。摸索中发现,实则不用,直接将/opt/sogoupinyin/files/lib中qt5相关的库全部删除,bin中的可执行程序就会自动去找系统中的qt。
虽然操作不同,但核心思想都是一致的——让输入法别用自带的qt5,用系统的。
那么就需要先用apt,把这些安装上

删除了/opt/sogoupinyin/files/lib/qt5/lib中,所有以libQt5开头的文件后(一定要删干净,否则会报系统qt5和自带qt5版本不兼容的问题),再去执行sogoupinyin-configtool,这一次没有提示qt5版本问题了,反而是提示没有/opt/sogoupinyin/files/bin/sogou-fcitx-diag文件。

我上哪给你找sogou-fcitx-diag??? 你安装包里也妹有啊

移除qt配置
关键点并不在sogou-fcitx-diag这个幽灵文件上,而在一个不起眼的配置文件上。
/opt/sogoupinyin/files/bin/qt.conf
把它移除后,输入法就能够正常使用了。设置页面,特殊符号页面都能够显示出来

本文不探究这个文件是干啥的,只是提出该方法,以解决更换输入法的qt5库后,仍无法正常启动的问题。
其他输入法
在完稿后的调研中,还发现讯飞输入法Linux个人版,和华宇输入法信创版。但还没来记得及尝试。后续可能会再写一篇这两个输入法的安装和使用指南。