搜狗输入法在 Windows 平台上可谓家喻户晓,到了 Linux 系统里,它还能维持同样的水准吗?说实话,Linux 下的中文输入法选择本来就不多,而搜狗可以说是其中体验最接近 Windows 版的那一个。前阵子我刚装了 Fedora 20,自带的 ibus 实在让人提不起劲,果断卸掉换上了 fcitx。可习惯了必应输入法的词库和手感,fcitx 默认的拼音方案总觉得差那么一口气——于是又想到了搜狗。
本文基于 32 位(i686)架构的 Fedora 系统编写,x86-64 版本会有些许差异。操作步骤是成功之后的复盘记录,每条命令都经过验证,不过环境不同可能略有出入。搜狗输入法恐怕是 Linux 平台上最好用的中文输入法之一,可惜由于商业原因,官方只提供了 deb 包,对 Fedora 用户不太友好。
网上有人提供了 x86-64 的 rpm 包,但 i686 版本却无人问津。那就自己动手——
1. 安装搜狗输入法
首先从 搜狗拼音 Linux 版官网 下载 deb 包。下载后解压,再把解压出来的 data 包进一步解压。

将 data 文件夹下的所有内容拷贝到根目录 /。
解压 deb 包推荐用 7z,我习惯用 wine 跑了个 7zip GUI,懒人自有懒办法。

把解压出来的文件剪切到 Fedora 的 / 目录下。然后将 /usr/lib/i386-linux-gnu/fcitx 目录下的那个 .so 链接库文件移动到 /usr/lib/fcitx 目录,重启 fcitx 就能看到搜狗输入法了。移动完成后,i386-linux-gnu 目录就可以删除。
sudo cp -r data/*
别忘了更改权限:
sudo chmod +x /usr/lib/i386-linux-gnu/fcitx/*.so
移动 so 文件:
sudo mv /usr/lib/i386-linux-gnu/fcitx/*.so /usr/lib/fcitx/
清理无用目录:
sudo rm -r /usr/lib/i386-linux-gnu
2. 安装 fcitx
安装基础 fcitx 框架和 Qt4 支持:
sudo yum install fcitx fcitx-qt4.i686
实际安装过程中还会自动拉取不少依赖包。下面是我安装完成后的包列表,如果缺了什么导致无法运行,可以对照检查:
fcitx.i686 4.2.8.4-1.fc20 @updates
fcitx-configtool.i686 0.4.7-2.fc20 @fedora
fcitx-data.noarch 4.2.8.4-1.fc20 @updates
fcitx-devel.i686 4.2.8.4-1.fc20 @updates
fcitx-gtk2.i686 4.2.8.4-1.fc20 @updates
fcitx-gtk3.i686 4.2.8.4-1.fc20 @updates
fcitx-libs.i686 4.2.8.4-1.fc20 @updates
fcitx-qt4.i686 4.2.8.4-1.fc20 @updates
kcm-fcitx.i686 0.4.3-2.fc20 @fedora
fcitx-anthy.i686 0.2.0-2.fc20 fedora
fcitx-chewing.i686 0.2.1-1.fc20 fedora
fcitx-cloudpinyin.i686 0.3.2-1.fc20 fedora
fcitx-fbterm.i686 0.2.0-3.fc20 fedora
fcitx-hangul.i686 0.3.0-1.fc20 fedora
fcitx-kkc.i686 0.1.0-3.fc20 fedora
fcitx-libpinyin.i686 0.3.1-1.fc20 fedora
fcitx-m17n.i686 0.2.1-1.fc20 fedora
fcitx-pinyin.i686 4.2.8.4-1.fc20 updates
fcitx-qw.i686 4.2.8.4-1.fc20 updates
fcitx-skk.i686 0.1.0-1.fc20 updates
fcitx-table.i686 4.2.8.4-1.fc20 updates
fcitx-table-chinese.noarch 4.2.8.4-1.fc20 updates
fcitx-table-extra.noarch 0.3.4-2.fc20 fedora
fcitx-table-other.noarch 0.2.2-1.fc20 fedora
fcitx-ui-light.i686 0.1.3-5.fc20 fedora
fcitx-unikey.i686 0.2.2-1.fc20 fedora
scim-fcitx.i686 3.1.1-17.fc20 fedora
scim-fcitx-tools.i686 3.1.1-17.fc20 fedora
启动时可能会报错,提示缺失某些 .so 链接库。
3. 修复缺失的库
缺什么就补什么。利用 yum 的提示,比如缺少 libabc.so,执行 yum install abc 后按两次 Tab 键查看相关包,通常是带 -lib 或 -dev 后缀的,安装即可。也可以使用 yum provides abc 让 yum 查找 libabc.so 属于哪个包。
解决了好几波缺失库的问题后,最后一个拦路虎是 libcrypto.so.1.0.0,怎么都找不到对应的包。yum 提示属于 openssl,但安装后发现出现的是 libcrypto.so.1.0.1e,并没有需要的 1.0.0 版本。显然系统自带的 openssl 版本太新,而搜狗需要旧版库。尝试用软链接的方式也不行。
几番搜索后,终于找到了突破口:Mageia 仓库中的 libopenssl1.0.0 包。这个 RPM 包内含 libcrypto.so.1.0.0,下载链接就是页面上的那个图标(不容易发现)。

下载 libopenssl1.0.0-1.0.1h-2.mga5.i586.rpm,直接安装会因依赖问题失败。没关系,直接解压这个 rpm 包,取出其中的 libcrypto.so.1.0.0,然后复制到 /usr/lib 下:
sudo cp libcrypto.so.1.0.0 /usr/lib/
OK,大功告成!重启 fcitx,搜狗输入法应该就能正常工作了。
