安装搜狗输入法 2.3.1.0112 成功

  虽然 openSUSE 可以添加 M17N 源来安装搜狗拼音输入法,但版本还是 2017年11月 的 2.2.0.0102,而最新版已经是 2019年10月 发布的 2.3.1.0112,增加了五笔输入法。其实 M17N 源里提供的 RPM 文件也不是安装包本身,而是一个脚本,下载搜狗拼音的 DEB 包然后解压。同样的原理,也可以这样安装最新版的搜狗输入法。
  Arch Linux 和 Manjaro Linux 的 AUR 包就是这样来安装搜狗输入法 2.3.1.0112,其 构建文件 就是一个脚本,正好借来依葫芦画瓢。

安装搜狗输入法

  1. 下载 搜狗输入法 Linux 版 的安装包,可以直接运行以下命令。我用的 openSUSE Tumbleweed x86-64 版,所以本文也只以 x86-64 为例。(现在应该也没什么人用 32 位系统了吧?)
wget http://cdn2.ime.sogou.com/dl/index/1571302197/sogoupinyin_2.3.1.0112_amd64.deb
  1. 将 DEB 包中的 data.tar.xz 文件解压出来,这就是搜狗输入法的本体文件,然后解压此 Tar 压缩包:
sudo tar -xJvf data.tar.xz -C /
sudo chmod a+x /usr/lib/x86_64-linux-gnu/fcitx/*
sudo mv /usr/lib/x86_64-linux-gnu/fcitx/* /usr/lib64/fcitx/
sudo rmdir -p /usr/lib/x86_64-linux-gnu/fcitx
sudo mv /usr/lib/mime/ /usr/lib64/
sudo sed -i "s#Gtk/IMModule=fcitx#overrides={'Gtk/IMModule':<'fcitx'>}#" /usr/share/glib-2.0/schemas/50_sogoupinyin.gschema.override
sudo rm /usr/share/keyrings/sogou-archive-keyring.gpg
sudo rm /etc/X11/Xsession.d/72sogoupinyin
sudo rmdir /usr/share/keyrings
sudo rmdir /etc/X11/Xsession.d

安装 libQtWebKit4

  这个简单,直接从源安装:

sudo zypper install libQtWebKit4

安装 fcitx-qt4

  openSUSE 源里已经移除了此包,所以也得借助 AUR 的力量。

  1. fcitx-qt4 的 AUR 包在 这里,或者直接运行以下命令下载:
wget https://arch-archive.tuna.tsinghua.edu.cn/2019/04-29/community/os/x86_64/fcitx-qt4-4.2.9.6-1-x86_64.pkg.tar.xz
  1. 打开 fcitx-qt4-4.2.9.6-1-x86_64.pkg.tar.xz,删除压缩包中的 .BUILDINFO、.MTREE、.PKGINFO 三个文件,因为 Arch 系 Linux 的目录结构和 openSUSE 有所不同,还要将 usr/lib 文件夹改名为 lib64。
    删除了那三个 PKG 信息文件后,为了区分,我将压缩包的名字改为 fcitx-qt4-4.2.9.6-1-x86_64.tar.xz,解压:
sudo tar -xJvf fcitx-qt4-4.2.9.6-1-x86_64.tar.xz -C /

  重启一遍 fcitx,不行的话重启系统,现在,搜狗输入法就可以使用了。

卸载

  这样安装自然只能手动卸载,解压哪些文件删除哪些文件。将以下内容分别保存为脚本文件,以 root 权限运行即可卸载搜狗输入法和 fcitx-qt4。

  1. 卸载搜狗输入法:
#!/bin/sh

rm /etc/xdg/autostart/fcitx-ui-sogou-qimpanel.desktop
rm /usr/bin/sogou-diag
rm /usr/bin/sogou-qimpanel
rm /usr/bin/sogou-qimpanel-watchdog
rm /usr/bin/sogou-session
rm /usr/bin/sogou-sys-notify
rm /usr/lib64/mime/packages/fcitx-ui-sogou-qimpanel
rmdir -p /usr/lib64/mime/packages
rm /usr/lib64/fcitx/fcitx-autoeng-ng.so
rm /usr/lib64/fcitx/fcitx-fullwidth-char-enhance.so
rm /usr/lib64/fcitx/fcitx-punc-ng.so
rm /usr/lib64/fcitx/fcitx-sogoucloudpinyin.so
rm /usr/lib64/fcitx/fcitx-sogoupinyin.so
rm /usr/lib64/fcitx/fcitx-sogouwubi.so
rm /usr/share/applications/fcitx-ui-sogou-qimpanel.desktop
rm -r /usr/share/doc/sogoupinyin
rm -r /usr/share/fcitx-sogoupinyin
rm /usr/share/fcitx/addon/fcitx-autoeng-ng.conf
rm /usr/share/fcitx/addon/fcitx-fullwidth-char-enhance.conf
rm /usr/share/fcitx/addon/fcitx-punc-ng.conf
rm /usr/share/fcitx/addon/fcitx-sogoucloudpinyin.conf
rm /usr/share/fcitx/addon/fcitx-sogoupinyin.conf
rm /usr/share/fcitx/addon/fcitx-sogouwubi.conf
rm /usr/share/fcitx/configdesc/fcitx-autoeng-ng.desc
rm /usr/share/fcitx/data/AutoEngNg.dat
rm /usr/share/fcitx/data/punc-ng.mb.zh_CN
rm /usr/share/fcitx/data/punc-ng.mb.zh_HK
rm /usr/share/fcitx/data/punc-ng.mb.zh_TW
rm /usr/share/fcitx/imicon/sogoupinyin.png
rm /usr/share/fcitx/imicon/sogouwubi.png
rm /usr/share/fcitx/inputmethod/sogoupinyin.conf
rm /usr/share/fcitx/inputmethod/sogouwubi.conf
rm -r /usr/share/fonts/EUDC
rm /usr/share/glib-2.0/schemas/50_sogoupinyin.gschema.override
rm /usr/share/icons/hicolor/128x128/apps/fcitx-sogouwubi.png
rm /usr/share/icons/hicolor/16x16/apps/fcitx-sogoupinyin.png
rm /usr/share/icons/hicolor/16x16/apps/fcitx-sogouwubi.png
rm /usr/share/icons/hicolor/48x48/apps/fcitx-sogouwubi.png
rm /usr/share/icons/hicolor/64x64/apps/sogou_notify.png
rm /usr/share/icons/hicolor/64x64/apps/sogoupinyin.png
rm /usr/share/locale/zh_CN/LC_MESSAGES/fcitx-sogoupinyin.mo
rm /usr/share/locale/zh_CN/LC_MESSAGES/fcitx-sogouwubi.mo
rm /usr/share/mime/packages/fcitx-ui-sogou-qimpanel.xml
rm /usr/share/pixmaps/application-x-scel.png
rm /usr/share/pixmaps/application-x-sogouskin.png
rm -r /usr/share/sogou-qimpanel
rm -r /usr/share/sogoupinyin
  1. 卸载 fcitx-qt4:
#!/bin/sh

rm /usr/include/fcitx-qt/fcitxqtconfiguifactory.h
rm /usr/include/fcitx-qt/fcitxqtconfiguiplugin.h
rm /usr/include/fcitx-qt/fcitxqtconfiguiwidget.h
rm /usr/include/fcitx-qt/fcitxqtconnection.h
rm /usr/include/fcitx-qt/fcitxqt_export.h
rm /usr/include/fcitx-qt/fcitxqtformattedpreedit.h
rm /usr/include/fcitx-qt/fcitxqtinputcontextproxy.h
rm /usr/include/fcitx-qt/fcitxqtinputmethoditem.h
rm /usr/include/fcitx-qt/fcitxqtinputmethodproxy.h
rm /usr/include/fcitx-qt/fcitxqtkeyboardlayout.h
rm /usr/include/fcitx-qt/fcitxqtkeyboardproxy.h
rm /usr/include/fcitx-qt/fcitxqtkeysequencewidget.h
rmdir /usr/include/fcitx-qt
rm /usr/lib64/fcitx/libexec/fcitx-qt-gui-wrapper
rmdir -p /usr/lib64/fcitx/libexec
rm /usr/lib64/pkgconfig/fcitx-qt.pc
rmdir -p /usr/lib64/pkgconfig
rm /usr/lib64/qt4/plugins/inputmethods/qtim-fcitx.so
rmdir -p /usr/lib64/qt4/plugins/inputmethods
rm /usr/lib64/libfcitx-qt.so
rm /usr/lib64/libfcitx-qt.so.0
rm /usr/lib64/libfcitx-qt.so.0.1
  1. 至于 libQtWebKit4,就可以自动卸载了:
sudo zypper remove -u libQtWebKit4



2赞

太折腾了,别再用这过时的软件,bug 满天飞

1赞

这也是一个思路,手动强行上 AUR 确实可以

又仔细看了一下搜狗 DEB 包中 control.tar.gz 中的几个脚本
安装搜狗后还应执行几条命令:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
sudo update-desktop-database -q
sudo update-mime-database /usr/share/mime
sudo fc-cache -fv /usr/share/fonts/EUDC
卸载后则执行:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
sudo update-desktop-database -q
sudo update-mime-database /usr/share/mime

明明脚本里都设置了判断是否 Ubuntu、Fedora、openSUSE 的命令
却只提供了 DEB 包

我用了 Leap 15.2 beta,fcitx-qt4 在 15.1 里还有,直接用 15.1 的源安一个就能用

TW 的源里连 GeoIP 都移除了:rofl:

不行,用不了。还是用不了

看来是我开的路径不对,现在可以了。谢谢

对了,既然是 Arch 里的 AUR,那是不是意味着,类似 deepin-wine-wechat 和 deepin-wine-tim 也可以进行类似的操作,然后在 openSUSE 下运行呢?

我觉得可以有

你可以研究一下,看看构建文件里都做些啥

还要在fcitx里把键盘换成中文键盘,否则无法输出中文。

这个我试过了,不太容易,因为他们依赖deepin-wine,deepin-wine重新打包不太容易……

感谢答主,按照你的方式装,别的地方都能成功,只是装 libQtWebKit4 的时候,找不着 libQtWebKit4 ,不知道是为什么?我的版本是 15.3.