Centos7 安装搜狗输入法

前言

本教程只适用于 Centos7 安装搜狗输入法(v2.2.0.0108),支持的桌面环境是 GNOME。注:文章末尾附有搜狗输入法最终的运行效果图

系统环境

1
2
CentOS Linux release 7.6.1810 (Core)
Linux centos7.6 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

安装 Fcitx 输入法框架

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 关闭ibus输入法,绝对不能使用“yum remove ibus”命令卸载ibus, 否则会将桌面环境一同卸载掉
# mv /usr/bin/ibus-daemon /usr/bin/ibus-daemon.bak

# 安装fcitx
# yum install libQtWebKit* fcitx fcitx-libs fcitx-qt4 fcitx-qt5 fcitx-configtool fcitx-table fcitx-table-chinese

# 如果上面的fcitx-qt5因依赖关系无法安装,则可以安装qt5-qtbase来替代
# yum install qt5-qtbase

# 配置环境变量(主要是为了解决GTK/Qt程序无法切换输入法)
# vim /etc/profile
export XIM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export QT4_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

# 重启系统使环境变量生效,并关闭ibus
# reboot

# 查看fcitx的安装状态(使用普通用户身份运行),重点查看红色部分(错误)的日志信息
$ fcitx-diagnose

安装搜狗输入法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 安装alien
# yum install alien

# 下载deb包
# wget http://cdn2.ime.sogou.com/dl/index/1524572264/sogoupinyin_2.2.0.0108_amd64.deb?st=EPtVkvlW9rLVsn-jtfOGbA&e=1568569239&fn=sogoupinyin_2.2.0.0108_amd64.deb

# 转换rpm包
# alien -r sogoupinyin_2.2.0.0108_amd64.deb

# 安装搜狗输入法
# rpm -ivh --force sogoupinyin-2.2.0.0108-2.x86_64.rpm

# 拷贝库文件
# cp -R /usr/lib/x86_64-linux-gnu/fcitx/* /usr/lib64/fcitx/

# 库文件授权
# chmod -R 755 /usr/lib64/fcitx/

# 启动fcitx
$ fcitx

# 开机自启动fcitx
# 导航到应用程序 --> 附件 --> 优化工具 --> 开机启动程序,设置fcitx为开机自启动

# 配置fcitx,添加搜狗输入法
$ fcitx-configtool

# 提示:fcitx成功添加搜狗输入法后,正常情况下可以通过快捷键ctrl + 空格调出搜狗输入法

解决搜狗输入法无法运行或者切换失败的问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 一般是sogou-qimpanel启动失败导致,首先删除搜狗输入法的相关配置文件,然后重启搜狗输入法或者重启系统
$ rm -rf ~/.config/SogouPY
$ rm -rf ~/.config/SogouPY.users
$ rm -rf ~/.config/sogou-qimpanel

# 重启fcitx与搜狗输入法(杀死下面的应用进程后,由于存在守护进程的缘故,应用进程会自动重启)
$ killall fcitx
$ killall sogou-qimpanel

# 如果搜狗输入法还是无法正常运行,尝试设置GNOME的注册表(或者使用dconf-editor可视化工具来设置注册表),设置完之后重启系统
$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"

# 如果上述方法都无法解决,那么可查看fcitx的错误日志信息来排查问题
$ cat ~/.config/fcitx/log/crash.log

安装其他输入法(可选操作,未验证)

1
2
3
4
5
6
7
8
9
10
11
# 标准拼音输入法
# yum install fcitx-pinyin

# 中州韵输入法
# yum install fcitx-rime fcitx-cloudpinyin

# 谷歌拼音输入法
# yum install fcitx-googlepinyin fcitx-cloudpinyin

# sunpinyin输入法
# yum install fcitx-sunpinyin sunpinyin-data fcitx-cloudpinyin

新增输入法的皮肤(可选操作)

1
2
3
4
5
6
7
8
9
10
11
12
13
# fcitx经典皮肤的目录路径
# /usr/share/fcitx/skin
# ~/.config/fcitx/skin

# sogou-qimpanel皮肤的目录路径
# /usr/share/sogou-qimpanel/skin

# 搜狗全平台通用ssf格式皮肤的目录路径
# /usr/share/sogou-qimpanel/recommendSkin/skin
# ~/.config/sogou-qimpanel/skin

# 搜狗输入法皮肤下载:https://pinyin.sogou.com/skins/
# 提示:可从搜狗输入法官网下载新皮肤到上述对应的目录下(区分Linux用户),目前非Ubuntu系的Linux发行版跟搜狗输入法的皮肤(sff格式)不兼容,实测Centos7无法正常使用搜狗输入法的皮肤安装功能

新增搜狗输入法词库(可选操作)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 下载词库(https://pinyin.sogou.com/dict/)
$ wget http://download.pinyin.sogou.com/dict/download_cell.php?id=22408&name=电视剧名大全

# 拷贝词库文件
$ cp 电视剧名大全.scel ~/.config/SogouPY/scd

# 重命名词库文件,格式为:数字.scel
$ mv ~/.config/SogouPY/scd/电视剧名大全.scel ~/.config/SogouPY/scd/15279.scel

# 编辑词库配置文件,添加以下内容(其中scd的序号必须唯一,id必须与词库的文件名一致)
$ vim ~/.config/SogouPY/scdlist.ini
[scd4]
id=15279
name=电视剧名大全
type=电视剧名大全

# 重启fcitx与搜狗输入法(杀死下面的应用进程后,由于存在守护进程的缘故,应用进程会自动重启)
$ killall fcitx
$ killall sogou-qimpanel

# 导航到搜狗输入法 --> 设置 --> 词库,如果成功添加词库,那么界面上会显示新添加的词库类型

使用 im-chooser 切换输入法(可选操作,不建议)

1
2
3
4
5
6
7
8
9
10
11
12
13
# 仅供参考,亲测Centos7环境下不一定能保证切换成功;当fcitx安装成功,并添加了搜狗输入法,那么正常情况下可以通过快捷键ctrl + shift来切换不同的输入法

# 安装im-chooser
# yum install im-chooser

# 切换输入法为fcitx
$ imsettings-switch fcitx

# 如果无法切换至指定的输入法,可以查看imsettings的日志来排查问题
$ cat ~/.cache/imsettings/log

# 检查imsettings设置
$ imsettings-info

最终效果图

sogou-input-method

参考博客