Linux下的搜狗拼音输入法主打的是适配国产的 uos deepin 麒麟 以及 旧版的 Ubuntu,也就是deb系。而直接在 Debian12 下安装是无法使用的,今天和大家分享一下,几乎完美兼容,拼音+五笔一站式解决中文输入需求,较新版本的Ubuntu、Mint 用户也可以看看,其他非deb系发行版暂时没试,但解决方案应该是相通的。
不能使用的问题在于deb系的国产系统内核和库版本一般都偏落后保守,搜狗只考虑适配他们,而在 Debian12 下表现为能安装成功但无法输入中文,和环境变量或者语言区域无关,这也是为什么你变量设置了区域也改了,依然无法使用搜狗的根本原因
知道问题原因就好办,经过测试,我把搜狗安装目录下的相关库文件删除,然后通过建立软链接的方式指向操作系统的库文件,使搜狗调用系统的库,问题就解决了
如果已经安装 fcitx5 请卸载,搜狗使用 fcitx 框架,两个版本不兼容
apt purge fcitx*
apt autoremove
记得这样删除干净再安装搜狗
其实现在fcitx5已经很完美了,有多种皮肤,能导入搜狗词库+使用百度云拼音候选,也是一行命令安装3个包就行了,用什么输入法看个人喜好吧,且2024年了,fcitx5已经完美兼容Wayland了
具体流程(一键修复)
1.安装搜狗输入法,去官网下载 amd64 / x86_64 的 deb 包
特别提醒,不要用 dpkg 安装 deb 包 ,直接使用 apt install 安装,好处是apt安装的话,和平常更新一样,安装过程你只需要点一下 y ,就能自动把所有的依赖一并安装,反而是 dpkg,简直是一坨答辩,每次安装各种包都要手动修复依赖。apt 不需要再对着网页看着教程补搜狗的依赖了,适用于你以后安装任何 deb 包,告别 dpkg
要用sudo或者管理员身份,就是这么简单。注意apt方式需要在deb包前面补上路径,相对路径或绝对路径,上面就是 ./ 代表当前目录,根据你的实际情况写
2.安装好之后开始修复
知道了原因那么就是去解决,但是需要处理的库文件大概有20多个,很繁琐。所以我直接写进了shell脚本里,在下面的代码块中,直接复制做成sh脚本,添加运行权限,管理员身份执行即可
里面操作只涉及 rm 删除搜狗安装目录下的自带库 然后 ln 建立软链接导向系统库这两个简单的命令行为,不变动任何系统文件,可以放心食用
需要管理员身份是因为搜狗安装在 /opt 目录下,普通用户没权限删除他的库
复制的时候注意复制全,最后几行比较长,鼠标往右拖一下。另外,如果你的文本编辑器有奇怪的自动换行也需要注意下,不过一般都是没问题的,我已经测试过了
!/bin/bash
rm /opt/sogoupinyin/files/lib/qt5/lib/libQt5Core.so.5
ln -s /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Core.so.5
rm /opt/sogoupinyin/files/lib/qt5/lib/libQt5Gui.so.5
ln -s /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Gui.so.5
rm /opt/sogoupinyin/files/lib/qt5/lib/libQt5Widgets.so.5
ln -s /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Widgets.so.5
rm /opt/sogoupinyin/files/lib/qt5/lib/libQt5DBus.so.5
ln -s /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5DBus.so.5
rm /opt/sogoupinyin/files/lib/qt5/lib/libQt5Qml.so.5
ln -s /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Qml.so.5
rm /opt/sogoupinyin/files/lib/qt5/lib/libQt5Network.so.5
ln -s /usr/lib/x86_64-linux-gnu/libQt5Network.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Network.so.5
rm /opt/sogoupinyin/files/lib/qt5/lib/libQt5Quick.so.5
ln -s /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Quick.so.5
rm /opt/sogoupinyin/files/lib/qt5/lib/libQt5QuickWidgets.so.5
ln -s /usr/lib/x86_64-linux-gnu/libQt5QuickWidgets.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5QuickWidgets.so.5
rm /opt/sogoupinyin/files/lib/qt5/lib/libQt5Svg.so.5
ln -s /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Svg.so.5
rm /opt/sogoupinyin/files/lib/qt5/lib/libQt5XcbQpa.so.5
ln -s /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5XcbQpa.so.5
rm /opt/sogoupinyin/files/lib/qt5/lib/libFcitxQt5DBusAddons.so.1
ln -s /usr/lib/x86_64-linux-gnu/libFcitxQt5DBusAddons.so.1 /opt/sogoupinyin/files/lib/qt5/lib/libFcitxQt5DBusAddons.so.1
rm /opt/sogoupinyin/files/lib/qt5/lib/libgsettings-qt.so.1
ln -s /usr/lib/x86_64-linux-gnu/libgsettings-qt.so.1 /opt/sogoupinyin/files/lib/qt5/lib/libgsettings-qt.so.1
rm /opt/sogoupinyin/files/lib/qt5/lib/libpcre.so.3
ln -s /usr/lib/x86_64-linux-gnu/libpcre.so.3 /opt/sogoupinyin/files/lib/qt5/lib/libpcre.so.3
plugins
rm /opt/sogoupinyin/files/lib/qt5/plugins/iconengines/libqsvgicon.so
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/iconengines/libqsvgicon.so /opt/sogoupinyin/files/lib/qt5/plugins/iconengines/libqsvgicon.so
rm /opt/sogoupinyin/files/lib/qt5/plugins/imageformats/libqsvg.so
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/imageformats/libqsvg.so /opt/sogoupinyin/files/lib/qt5/plugins/imageformats/libqsvg.so
rm /opt/sogoupinyin/files/lib/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /opt/sogoupinyin/files/lib/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
rm /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqlinuxfb.so
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqlinuxfb.so /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqlinuxfb.so
rm /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqminimal.so
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqminimal.so /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqminimal.so
rm /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqoffscreen.so
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqoffscreen.so /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqoffscreen.so
rm /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqxcb.so
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqxcb.so
rm /opt/sogoupinyin/files/lib/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so /opt/sogoupinyin/files/lib/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
3.老用户跳过。这一步骤是给新手写的,如何创建上面那个脚本和运行
复制第2步里面的代码,新建文本文件把代码粘贴进去,保存为后缀名是 sh 结尾的文件,名字随意,如 abc.sh
进入脚本保存目录,在当前目录打开终端,以管理员身份,输入执行这个命令 chmod +x abc.sh,赋予这个脚本运行权限
管理员身份执行 ./abc.sh
4.结束,重启或者注销再进入桌面就是满血版搜狗
第一次使用默认快捷键是 ctrl + 空格键 ,随后可以自己在fcitx面板改
标准搜狗拼音功能,以及有右下角悬浮状态栏,截屏,混输四码唯一五码上屏临时拼音等小功能可以自由开关,86/98新世纪可选,五笔用户福音,属性设置可以调皮肤,词库等,可以详细设置
不需要额外设置变量和语言,至少在Debian12下都是fcitx包自动配置好的,如果你的发行版有问题,可以自行搜索相关变量设置方法
5.问题
wayland下输入框不跟随光标,他这个输入法毕竟是给旧版本系统开发的,暂时没法解决,如果后续找到解决方案会更新本文。目前还是建议使用X11,基本完美