Skip to content

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 を与える。

Terminal window
flatpak --socket=wayland md.obsidian.Obsidian --wayland-text-input-version=3

input-method を経由するなら —gtk-version=4GTK_IM_MODULE 環境変数を設定する。後者の場合は fcitx5-gtk パッケージが必要になるかもしれないが試していない。

Terminal window
export GTK_IM_MODULE=fcitx
flatpak --socket=wayland com.slack.Slack --gtk-version=4

KDEなら text-inputv1 で動作できる。

Terminal window
flatpak --socket=wayland com.discordapp.Discord --enable-wayland-ime

またはX11で動作させたい場合

Terminal window
export XMODIFIERS=@im=fcitx
flatpak --socket=x11 com.visualstudio.code

Flatpak自体のオプションは override サブコマンドで追加できる。

Terminal window
flatpak --user override --socket=wayland com.slack.Slack

アプリケーション毎のオプションは、パッケージング毎に独自の実装が行われているのでElectronアプリでelectron-flags.confが使えるかどうかはアプリごとに異なるし、なんなら永続化の手段がない場合もある。

  • ~/.config/code-flags.conf
  • ~/.config/discord-flags.conf

Waylandで起動すると gsettings で設定したキーテーマが反映されない。