📑
KubuntuのVSCodeで日本語入力ができないことへの対応
日本語入力にはfcitx5を使用しています。
しかし、VSCodeで日本語入力を行うことができませんでした。
(半角/全角のようなIME切り替えキーを押してもローマ字しか入力できない)
以下、解決方法記載します。
原因調査
fcitx5-diagnose
コマンドで環境を診断することができます。
fcitx5-diagnoseは、Fcitx5(日本語入力システム)が正しく動作しているかを診断するためのツールです。このツールは、現在の環境変数や関連する設定をチェックしてくれます。
主な診断項目として以下があります。
- 環境変数: XMODIFIERS、GTK_IM_MODULE、QT_IM_MODULEなど、日本語入力に関連する環境変数の設定状況を確認します。
- モジュールのロード状況: Fcitx5が依存するモジュールが正しく読み込まれているかを確認します。
- 入力メソッド設定: 入力メソッドが正しく設定されているか、競合や設定ミスがないかを診断します。
問題がある場合は出力結果が膨大に出てきますが、
**環境変数 XMODIFIERS は、@im=fcitx ではなく @im=ibus です。いずれかのinitファイルで誤ってエクスポートしていないか確認してください。**
**お使いのディストリビューションが用意しているツールで環境変数 XMODIFIERS に '@im=fcitx' を設定するか、直接`~/.xprofile` に `export XMODIFIERS=@im=fcitx` を書き加えてください。詳しくは [入力メソッド関連の環境変数:XMODIFIERS](http://fcitx-im.org/wiki/Input_method_related_environment_variables#XMODIFIERS) を参照してください**
のように問題と、解決方法が日本語で出力されるので対処方法はわかりやすいです。
原因
私の環境では、fcitx5-diagnose
の結果として以下が出力されました。
長いのでコアな部分だけ抜粋します。
- XMODIFIERSについて
環境変数 XMODIFIERS は、@im=fcitx ではなく @im=ibus です。
XMODIFIERS が fcitx ではなく ibus に設定されていることが明示されています。
- GTK_IM_MODULEについて
環境変数 GTK_IM_MODULE は、fcitx ではなく ibus です。
GTK_IM_MODULE も ibus に設定されているため、GTK ベースのアプリケーションで日本語入力が正しく動作しない可能性があります。
- QT_IM_MODULEについて
環境変数 QT_IM_MODULE は、fcitx ではなく ibus です。
QT_IM_MODULE も ibus に設定されていることが明記されており、Qt ベースのアプリケーションで問題が発生する可能性があります。
対処方法
先に記載の問題に対処するために~/.xprofile
で環境変数を以下のように編集しました。
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export CLUTTER_IM_MODULE=fcitx
export ECORE_IMF_MODULE=fcitx
その後、ログインしなおすか以下コマンドでfcitxを再起動することで解決しました。
fcitx5 -r
Discussion