当前位置: 首页 > 工具软件 > python-pinyin > 使用案例 >

Centos8 ibus-pinyin 无法切换中文输入

卫嘉谊
2023-12-01

        写这个东西主要是因为网上没找到我问题的解决办法,昨天上班的时候不小心更新了下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系统能不更新就不要更新,但是不更新跟咸鱼有什么区别,搞了两天发个文章吐槽下(菜是原罪)

 类似资料: