🖊️

Ubuntu 21.10で日本語入力ができない問題

2 min read

問題を探る

Ubuntu 21.10を新規インストールし、(Waylandセッションにならない特殊な環境を除いて)ログインし、Windowsキー+Spaceキーで「日本語(Mozc)」に切り替えると、IBusのステータスは「A」となるはずですが、「あ」のままとなります。
Ubuntu 21.10のログイン直後
Ubuntu 21.10のログイン直後

ここでIBusのプロセスを確認してみましょう。
WaylandセッションでのIBus関連プロセス
WaylandセッションでのIBus関連プロセス

なんか起動しているように見えますね。
Xセッションに切り替えて確認してみましょう。
XセッションでのIBus関連プロセス
XセッションでのIBus関連プロセス

ibus-x11プロセスが起動しているようです。ではWaylandセッションでibus-x11プロセスを起動してみましょう。
ibus-x11プロセスを起動した
ibus-x11プロセスを起動した
違いはibus-x11プロセスの起動で間違いなさそうです。

どうしてWaylandセッションではibus-x11プロセスが起動しなくなったのか、IBusを起動しそうなものとその変更点を追いかけていくと、このようなものを見つけました。
Xwayland on demand by default
なるほどGNOME 40以降はデフォルトではXwaylandを起動しなくなったようです。では確認してみましょう。
xwaylandが起動していないことを確認
xwaylandが起動していないことを確認

xwaylandが起動しているとMozcで日本語入力できる
xwaylandが起動しているとMozcで日本語入力できる

ワークアラウンド

ではどのように対応すればいいのでしょうか。いくつか方法が考えられます。

IBusを再起動する

ログイン直後に端末を起動し、次のコマンドを実行してください。

$ ibus-daemon -rxd

これでibus-x11プロセスも起動します。

xwaylandが必要なアプリケーションを起動する

xwaylandが起動すると自動的にibus-x11も起動します。よってmozc-utils-guiパッケージをインストールし、「Mozcの設定」を起動する、「LibreOffice」を起動するなどを行うのもワークアラウンドになります。

Xセッションを利用する

無理にWaylandセッションを使用せず、Xセッションを使用すれば何の問題もありません。

IBusをログイン時に自動的に再起動する

無理やりIBusを再起動したい場合は、次のコマンドを実行してください。

$ sudo editor /etc/xdg/autostart/ibus-autostart.desktop

次の内容を貼り付けてください。

[Desktop Entry]
Name=ibus-autostart
Exec=sh -c 'if [ "${IM_CONFIG_CHECK_ENV}" = "1" ] && [ "${XDG_SESSION_TYPE}" = "wayland" ] &&  [ "${XDG_CURRENT_DESKTOP}" = "ubuntu:GNOME" ] || [ "${XDG_CURRENT_DESKTOP}" = "GNOME" ]; then ibus-daemon -rxd true; fi'
TryExec=ibus-daemon
Type=Application

保存し、一度ログアウトしてログインするとMozcによる日本語入力ができるようになっているでしょう。

GunnarのPPAからim-configのアップデートを入手する

Ubuntuのインプットメソッド関連の守り神ことGunnarがPPAにim-confingのアップデート版を提供してくれました。

$ sudo add-apt-repository ppa:gunnarhj/im-config
$ sudo apt upgrade

以上のコマンドを実行後再起動してください。再ログインでもいいのかな。

その他

(削除)

おまけ

Ubuntu Weekly Recipe 第687回 Ubuntu 21.10の変更点もよろしくです。

追記

lp:1946969で対応中

Discussion

ログインするとコメントできます