FlatpakのElectronアプリで日本語入力を行う方法
Wayland上での日本語入力プロトコルとサポート状況をまとめたが、このうち、2025年時点でWaylandにおける現在主流のテキスト入力プロトコルバージョンが複数ある。
- Wayland Text Input Protocol version 1
- Wayland Text Input Protocol version 3
GNOMEやSwayはv3を実装しており、Chromiumはv1を実装する。この違いによりElectronアプリはWaylandネイティブで動作させると日本語入力ができない。
Electronアプリにはいくつかオプションが用意されている。text-input を経由する場合は —wayland-text-input-version=3 を与える。
flatpak --socket=wayland md.obsidian.Obsidian --wayland-text-input-version=3input-method を経由するなら —gtk-version=4 と GTK_IM_MODULE 環境変数を設定する。後者の場合は fcitx5-gtk パッケージが必要になるかもしれないが試していない。
export GTK_IM_MODULE=fcitxflatpak --socket=wayland com.slack.Slack --gtk-version=4KDEなら text-input の v1 で動作できる。
flatpak --socket=wayland com.discordapp.Discord --enable-wayland-imeまたはX11で動作させたい場合
export XMODIFIERS=@im=fcitxflatpak --socket=x11 com.visualstudio.codeオプションを永続化したい
Section titled “オプションを永続化したい”Flatpak自体のオプションは override サブコマンドで追加できる。
flatpak --user override --socket=wayland com.slack.Slackアプリケーション毎のオプションは、パッケージング毎に独自の実装が行われているのでElectronアプリでelectron-flags.confが使えるかどうかはアプリごとに異なるし、なんなら永続化の手段がない場合もある。
- ~/.config/code-flags.conf
- ~/.config/discord-flags.conf
Waylandで起動すると gsettings で設定したキーテーマが反映されない。