Trouble Shooting: ubuntu language support crashed

记一次令人浑身难受的 ubuntu 输入法问题

background

实验室服务器被 1w 个人用过,难免会出现各种奇奇怪怪的问题(尤其是 ubuntu, 开源有其好也有其坏处),我个人经历过各种令人崩溃的问题(比如显卡驱动崩溃,内存条突然坏掉等攒人品的大事件),对于这个 language support 的问题,一开始用服务器时,我就发现 system setting 中的 language support 打不开,但是本着能少一事少一事的原则,当时用中文输入法还能凑活着得过且过,但在这期间,我发现每重启一次服务器这个中文输入法都会展现一些其他奇怪的行为,包括但不限于

  • 输入体验差,不流畅
  • pycharm 里只能打英文,其余地方可以打中文
  • pycharm 可以打中文,其余地方只能打英文,打中文就会出现奇怪的乱码
  • 搜狗输入法莫名其妙挂掉
  • 看不到中文输入框

终于在最后一个问题上,我忍不了了,决心解决掉这个麻烦

problem discription

来看看问题描述,承上文,点开 system setting 中的 language support 会出现错误提示,具体的我忘记了,大概长这样:

1
2
3
in /usr/lib/python3/dist-packages/LanguageSelector/gtk.GtkLanguageSelector.py
from LanguageSelector.LanguageSelector import *
no module named LanguageSelector.LanguageSelector

上述操作和在 command line 中 type gnome-language-selector 是等价操作, 在命令行 gnome-language-selector 也是报出同样的错误

struggle steps

首先,我去查看了 /usr/lib/python3/dist-packages/LanguageSelector, 发现这个文件夹底下只有一个 gtk, 确实没有对应的 LanguageSelector

我的第一个怀疑点在于 python 的 version 问题,毕竟 anaconda 的 base python 是 default python, 且会不会 language selector 应该依赖于 python2.7. 于是我去 check 了 /usr/bin/gnome-lanugae-selector, 第一行就是 #! /usr/bin/python3 而这个 python3 就是系统的 python3.5;

那么是不是 python3 part-broken 呢?于是我尝试 sudo apt install --reinstall python3, 无果

那么是不是 gnome-language-selector 这个包有问题呢? sudp apt install --reinstall language-selector-gnome, sudo apt install --reinstall gnome 均没有用。在 language-selector-gnone file list 中我们也可以看到,并没有我们需要的东西

接着,我在 language-selector-gnome package info 这里看到了 dependency, 问题果然出在这里,系统缺失了 im-config, language-selector-common 两个依赖,problem resolved!

终于,我获得了船新,莫得问题,丝般顺滑的输入法,

TODO

  • 仍有一个未解之处,sudp apt install --reinstall language-selector-gnome 这个命令在下载的时候难道不会检查 dependency? 如果检查了,那么又是如何越过的?