Ubuntu语言支持(Language Support)没有ibus选项

前言

系统:Ubuntu 20.04 LTS

问题重现:

系统一开始的时候是好的,后来突然系统崩溃了,更整好以后就Ubuntu的语言支持(Language Support)选项里就没有IBUS选项了,变成默认的XIM
Ubuntu语言支持(Language Support)没有ibus选项_01

Ubuntu的语言支持是由im-config管理的,执行im-config报以下错误:

E: ibus 使用的设置在 avail_auto 找不到

问题分析

Linux系统使用的默认语言是英文,为了兼容中日韩三个东方国家的语言,于是有了ibus/
fcitx等输入法框架。
通过ibus我们可以配置输入法为英文,中文,日文,韩文,拼音,五笔等不同的输入法软件。
但是个人理解是ibus只是向上管理不同的输入法,向下做系统及图形桌面的兼容需要另外的组件进行配置。
在Ubuntu里就是im-config,当你在图形界面配置ibus/fcitx/xim/None的时候,调的就是im-config,它对于中日韩三国语言及文字的支持是不可或缺的。
可以看下im-config组件的介绍:
im-config组件介绍
所以如果你遇到这个问题的话好多博客通过一堆的介绍及安装步骤,解决步骤后都会有这么一步:

sudo im-config -s ibus

但是如果我们照着做的话可能会出现如下报错:

ibus 使用的设置在 avail_auto 找不到

其实你也可以在Ubuntu的启动日志里看到一样的错误:

Mar 06 22:16:30 i75930 gnome-control-center.desktop[3594]: E: ibus 使用的设置在 avail_auto 找不到。
Mar 06 22:16:30 i75930 gnome-control-center.desktop[3663]: E: ibus 使用的设置在 avail_auto 找不到。
Mar 06 22:16:31 i75930 gnome-control-center.desktop[3765]: E: ibus 使用的设置在 avail_auto 找不到。
Mar 06 22:16:31 i75930 gnome-control-center.desktop[3834]: E: ibus 使用的设置在 avail_auto 找不到。
Mar 06 22:16:31 i75930 gnome-control-center.desktop[3926]: E: ibus 使用的设置在 avail_menu 找不到。
Mar 06 22:16:43 i75930 dbus-daemon[1971]: [session uid=1000 pid=1971] Activating via systemd: service name='org.gtk.vfs>
Mar 06 22:16:43 i75930 systemd[1960]: Starting Virtual filesystem metadata service...
Mar 06 22:16:43 i75930 dbus-daemon[1971]: [session uid=1000 pid=1971] Successfully activated service 'org.gtk.vfs.Metad>
Mar 06 22:16:43 i75930 systemd[1960]: Started Virtual filesystem metadata service.
Mar 06 22:16:53 i75930 dbus-daemon[1971]: apparmor="DENIED" operation="dbus_method_call"  bus="session" path="/org/gtk/>
Mar 06 22:16:54 i75930 gnome-control-center.desktop[4121]: E: ibus 使用的设置在 avail_auto 找不到。
Mar 06 22:16:54 i75930 gnome-control-center.desktop[4190]: E: ibus 使用的设置在 avail_auto 找不到。
Mar 06 22:16:55 i75930 gnome-control-center.desktop[4292]: E: ibus 使用的设置在 avail_auto 找不到。
Mar 06 22:16:55 i75930 gnome-control-center.desktop[4361]: E: ibus 使用的设置在 avail_auto 找不到。
Mar 06 22:16:55 i75930 gnome-control-center.desktop[4453]: E: ibus 使用的设置在 avail_menu 找不到。

Ubuntu语言支持(Language Support)没有ibus选项_02

这是因为Ubuntu默认使用的就是im-config,而im-config默认使用的就是 ibus,但是因为各种不可言说的原因im-config和ibus之间的配置损坏了。

问题解决

网上这方面的文章很少,没有解决我的问题,那就只能自己解决了。

方法1:错误日志

ll /var/log

发现没有im-config的错误日志

方法2:配置文件

系统自带的服务及通过软件管理器(apt/yum)安装的服务,配置文件一般在/etc下。
可以查找一下:

sudo find /etc -name "im-config"

看一下里面什么内容:
Ubuntu语言支持(Language Support)没有ibus选项_03
Ubuntu语言支持(Language Support)没有ibus选项_04

看着也没有什么问题
先跳过吧,试试其他的方式,不行的话再回头互相印证一下

方法3:重装试试

轻量级的软件,可以直接搞,重量级的软件最好慎重

ibus有问题只影响到输入法,其他系统其他组件没什么关系,可以直接搞

im-config既然是系统服务,可以看看apt/dpkg里有没有:

dpkg -l | grep im-config

还真有,重装一下试试:

sudo apt-get --reinstall install im-config

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DX7o1Swh-1615047238232)(en-resource://database/11864:1)]

然后可以再试试那个命令:

sudo im-config -s ibus

OK,没有报错
Ubuntu语言支持(Language Support)没有ibus选项_05

再打开语言支持就有ibus选项了
Ubuntu语言支持(Language Support)没有ibus选项_06

方法4:查看源码

其他你还可以看下它的源码是这个错误是在哪儿报的。
所有的命令行命令都可以通过which及whereis命令知道是在哪儿的:
Ubuntu语言支持(Language Support)没有ibus选项_07

vim /usr/bin/im-config 

打开我们会发现它是一个shell脚本,而不是二进制文件,可以看下它的,当然如果你懂shell的话
Ubuntu语言支持(Language Support)没有ibus选项_08

由于方法3已经把问题解决了,问题重现,这里不再多言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值