コンソールから「ibusの設定」を起動すると変なエラーが出ていることに気付いた。
$ ibus-setup Traceback (most recent call last): File "/usr/share/ibus/setup/main.py", line 330, in __button_engine_add_cb dialog.set_engines(self.__engines) File "/usr/share/ibus/setup/enginedialog.py", line 335, in set_engines untrans = IBus.get_untranslated_language_name(e.get_language()) File "/usr/lib/python2.7/dist-packages/gi/module.py", line 320, in __getattr__ return getattr(self._introspection_module, name) File "/usr/lib/python2.7/dist-packages/gi/module.py", line 139, in __getattr__ self.__name__, name)) AttributeError: 'gi.repository.IBus' object has no attribute 'get_untranslated_language_name'
あぁ... ダメなにおいがする...。
/usr/share/ibus/setup/enginedialog.py を開いて335行目付近を調べる。
def set_engines(self, engines): self.__engines_for_lang = {} self.__untrans_for_lang = {} for e in engines: l = IBus.get_language_name(e.get_language()) if l == None: l = '' if l not in self.__engines_for_lang: self.__engines_for_lang[l] = [] i18n.init_textdomain(e.get_textdomain()) self.__engines_for_lang[l].append(e) # Retrieve Untranslated language names. untrans = IBus.get_untranslated_language_name(e.get_language()) # ★★★ if untrans == None: untrans = '' self.__untrans_for_lang[l] = untrans
★をつけた場所を以下のようにすれば、この箇所でのエラーはとりあえずなくなる。
untrans = None