注意:笔者使用的是32位(i686)fedora, x86-x64会有不同之处。文章是操作成功后写的,不保证每条命令都正确,但思路是没错的。
sogou输入法恐怕是linux平台最好用的中文输入法了吧。但估计由于商业原因,只有deb包。
网上有人提供了x86-x64的rpm包,但我用的是i686。于是自己动手.....
参考:http://bbs.wuyou.com/forum.php?mod=viewthread&tid=323236
1. 安装sogou
首先从 http://pinyin.sogou.com/linux/?r=pinyin 下载deb包,解压,再将解压出来的data包解压。
将data文件夹下的所以内容拷贝的 /
sudo cp -r data/*
更改权限
sudo chmod +x /usr/lib/i386-linux-gnu/fcitx/*.so
将/usr/lib/i386-linux-gnu/fcitx目录下的所有so链接库文件剪切到/usr/lib/fcitx目录下
sudo mv /usr/lib/i386-linux-gnu/fcitx/*.so /usr/lib/fcitx/
删除i386-linux-gnu目录,它已经没用了
sudo rm -r /user/lib/i386-linux-gnu
2. 安装fcitx
sudo yum install fcitx fcitx-qt4.i686 ....
记得好像安装了3个包,具体是什么不清楚。下面是我安装后的结果,缺什么不能运行的话,自己对一下吧:
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
3. 运行
这个时候运行 fcitx 可以看到右下角多了一个图标。但是sogou却无法运行。
经研究发现:sogou输入法的进程实际是sogou-qimpanel 。执行
sogou-qimpanel
会提示错误,缺失了so链接库。
4. 修复
缺什么补什么,将缺失的so文件补充完整。
可以利用 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 ,仍然没用libcrypto.so.1.0.0。
明显我们安装的openssl版本较新,而需要的是老版本的库文件。试图使用软连接的方式也失败了。
经过几番努力,终于找到了解决办法:
http://pkgs.org/mageia-cauldron/mageia-core-release-i586/libopenssl1.0.0-1.0.1h-2.mga5.i586.rpm.html
可见这个包里面有libcrypto.so.1.0.0, 下载之, 下载链接是那个图标,真不容易发现....
下载libopenssl1.0.0-1.0.1h-2.mga5.i586.rpm
当试图安装这个包的时候,又失败了 ,无法满足依赖。
没有关系,解压之。旧可以得到libcrypto.so.1.0.0 然后拷贝到/usr/lib下。
sudo cp libcrypto.so.1.0.0 /usr/lib/
OK , 大功告成!
fedora20安装sogou输入法