LoginSignup
4
2

More than 5 years have passed since last update.

CentOS 7.4 の Emacs 上で ibus (xim) による入力ができない場合があることへの対処

Posted at

TL;DR

DISCLAIMER: 不確定の情報もあるので,あくまで参考情報としてまとめています.

  • CentOS7 (Gnome Desktop) で,ibusによる日本語入力が基本的にできるようになったにもかかわらず,Emacs上では ibus (xim) による日本語入力が全くできないことが起こってしまった.
  • 力技として,セッションが立ち上がるタイミングで gdm による ibus-x11 プロセスを kill すると解決する場合がある.
# echo 'pkill -Ugdm ibus-x11' >> /etc/gdm/PreSession/Default

環境

  • Windows 10 Pro (1803)
    • Vagrant 2.2.2
  • CentOS 7.4 (bento/centos-7.4)
    • ibus-1.5.17-2.el7.x86_64
    • gdm-3.28.2-10.el7.x86_64
    • emacs-24.3-22.el7.x86_64

Summary

  • 現象
    • CentOS 7.4をインストールし,GNOME Desktopibus-anthyをインストールする
    • gnome-terminal等では日本語入力ができるが,emacsだけできない
    • 再現しないこともあるらしい
  • 原因(と思われるもの)
    • ログイン画面(gdm)による ibus-daemon と,ログインしたユーザの ibus-daemon の2つが立ち上がっている
    • 参考:"ibus-x11 --kill-daemon" dies without killing ibus-daemon when I log out a desktop environment. · Issue #1907 · ibus/ibus
    • gdmibus-daemon はログイン画面起動時に立ち上がり,ユーザログイン後には別のプロセスIDで立ち上がっている
    • ibus-daemon プロセスは,自身が行方不明の時に自動起動するようになっており,ユーザのログイン処理中に一度 gdm の ibus-daemon は落ちたものの,また立ち上がってしまっている?
      • ibus-daemonibus-x11 が本当は落としてくれる?
  • 場当たり的な対処
    • ユーザのログイン後に gdm による ibus-daemon を kill する
      • ただし,ibus-x11killすれば,それに合わせて落ちてくれる.
    • 場合によっては,ユーザの ibus-daemon を再起動する
$ sudo -ugdm pkill ibus-x11
$ ibus restart

未検証

  • ibusを1.59以降にアップデートすればよいのでは?(パッチが1.59で取り込まれているっぽい)
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2