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 Desktopとibus-anthyをインストールする -
gnome-terminal等では日本語入力ができるが,emacsだけできない - 再現しないこともあるらしい
- CentOS 7.4をインストールし,
- 原因(と思われるもの)
- ログイン画面(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
-
gdmのibus-daemonはログイン画面起動時に立ち上がり,ユーザログイン後には別のプロセスIDで立ち上がっている -
ibus-daemonプロセスは,自身が行方不明の時に自動起動するようになっており,ユーザのログイン処理中に一度 gdm のibus-daemonは落ちたものの,また立ち上がってしまっている?-
ibus-daemonはibus-x11が本当は落としてくれる?
-
- ログイン画面(gdm)による
- 場当たり的な対処
- ユーザのログイン後に gdm による
ibus-daemonを kill する- ただし,
ibus-x11をkillすれば,それに合わせて落ちてくれる.
- ただし,
- 場合によっては,ユーザの
ibus-daemonを再起動する
- ユーザのログイン後に gdm による
$ sudo -ugdm pkill ibus-x11
$ ibus restart
未検証
- ibusを1.59以降にアップデートすればよいのでは?(パッチが1.59で取り込まれているっぽい)