写这个东西主要是因为网上没找到我问题的解决办法,昨天上班的时候不小心更新了下centos软件应用,重启导致了ibus拼音无法正常使用。
红色标注不要直接“yum remove ibus”会导致整个GNOME都没了,主要原因是ibus有很多依赖,当然卸载了也可以通过 “yum grouplist” 查看可安装的GNOME,整个GNOME先卸载,再进行安装,最后 systemctl start gdm 就ok了。
网上有很多都是im-chooser去选择ibus的,但对我根本没用,有提示:
org.gnome.SettingsDaemon.Keyboard.desktop exists. imsettings is going to be disable
看上面的提示意思很显然就是有这个鬼东西在所以imsettings没办法使用,我果断给他删除了,然后设置了ibus重启,直接整个系统都黑了。后面我通过镜像文件找到了这个文件,重新放到了这个目录里 /ext/xdg/autostart/ 完成的reboot好了。所以这个文件千万别删。
真正的解决方案:
首先是查看下ibus的所有进程: ps -ef | grep ibus (结果如下)
root 4277 4139 0 17:14 tty2 00:00:01 ibus-daemon --xim --panel di sable
root 4282 4277 0 17:14 tty2 00:00:00 /usr/libexec/ibus-dconf
root 4283 4277 0 17:14 tty2 00:00:01 /usr/libexec/ibus-extension- gtk3
root 4285 1 0 17:14 tty2 00:00:00 /usr/libexec/ibus-x11 --kill -daemon
root 4287 3989 0 17:14 ? 00:00:00 /usr/libexec/ibus-portal
root 4519 4277 0 17:14 tty2 00:00:00 /usr/libexec/ibus-engine-lib pinyin --ibus
root 5668 4277 0 17:15 tty2 00:00:00 /usr/libexec/platform-python /usr/share/ibus-table/engine/main.py --ibus
root 5785 4277 0 17:18 tty2 00:00:00 /usr/libexec/ibus-engine-sim ple
root 7383 7162 0 17:39 pts/2 00:00:00 grep --color=auto ibus
查看以上结果是否有/usr/libexec/ibus-engine-libpinyin --ibus 。我得问题就是这个进程没有导致有ibus也没办切换拼音。
没有这个进程的时候我们就好办了,在终端主动执行这个进程
[root@xing libexec]# ./ibus-engine-libpinyin (pwd:/usr/libexec)
./ibus-engine-libpinyin: symbol lookup error: /lib64/libpinyin.so.13: undefined symbol: _ZN12kyotocabinet4File6renameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_
我的错误提示:./ibus-engine-libpinyin: symbol lookup error: /lib64/libpinyin.so.13: undefined symbol: _ZN12kyotocabinet4File6renameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_,具体就是这个拓展库没有定义这个东西,也是我升级的时候这个东西给更新了现在不定义了。
最终的解决办法:
[root@xing libexec]# yum install libpinyin.so.13
Installed products updated.
已降级:
kyotocabinet-libs-1.2.76-17.el8.x86_64
已安装:
kyotocabinet-libs-1.2.76-17.el8.i686 libpinyin-2.2.0-1.el8.i686
libpinyin-data-2.2.0-1.el8.i686 lzo-2.08-14.el8.i686
完毕!
从以上的结果能看到有个东西被降级了,罪魁祸首就是kyotocabinet-libs-1.2.76-17.el8.x86_64这个东西更新会导致没办法切换中文给他降级就可以了。
总结:linux系统能不更新就不要更新,但是不更新跟咸鱼有什么区别,搞了两天发个文章吐槽下(菜是原罪)