はじめに
Ubuntu 24.04を使用していて、突然日本語入力ができなくなった経験はありませんか?画面には「ja」と表示されているのに、いくらキーを押しても日本語が入力できない...そんな症状に遭遇したときの、即座に復旧できる決定版コマンドを紹介します。
症状
- 上部パネルに「ja」と表示されているが、日本語入力に切り替わらない
- Super+Spaceを押しても日本語入力モードにならない
- 本来なら「あ」や「A」といった入力モード表示が出るはずなのに出ない
- 再起動すると一時的に直るが、また再発する
対象環境
- OS: Ubuntu 24.04 (Xorg/Wayland両対応)
- 入力メソッドフレームワーク: Fcitx5
- 日本語入力エンジン: Mozc
- 本記事は特に Fcitx5 + Mozc 環境を対象としていますが、類似環境でも応用可能です
問題の根本原因
この問題の正体は、IBusとFcitx5の二重起動による競合です。
Ubuntu では以下の要素が日本語入力に関わっています:
- 入力メソッドフレームワーク: IBus または Fcitx5(どちらか一方のみを使用すべき)
- 日本語変換エンジン: Mozc(かな漢字変換の本体)
これらが以下の状況で競合を起こします:
- システムアップデート後にIBusが自動起動する(GNOMEのデフォルト動作)
- アプリケーションがIBusとFcitx5の両方にイベントを送信してしまう
- 起動順序の問題でFcitx5よりIBusが先に制御を握ってしまう
結果として、「jaという配列表示だけが出て、実際の日本語変換エンジンが動作していない」状態になります。
即座に復旧する方法(決定版コマンド)
以下のコマンドを順番通りに実行してください。再起動は不要です。
# 1) IBusを停止(競合防止)
ibus exit 2>/dev/null || true
pkill -f ibus-daemon 2>/dev/null || true
# 2) Fcitx5をクリーン再起動
fcitx5 -rd
# 3) Mozcの有無を確認し、無ければインストール
dpkg -s fcitx5-mozc >/dev/null 2>&1 || { sudo apt update && sudo apt install -y fcitx5-mozc; }
# 4) Mozcを「現在のIM」としてアクティブ化
fcitx5-remote -o # Fcitx5を有効化
fcitx5-remote -s mozc # Mozcを選択
ワンライナー版(コピペ用)
ibus exit 2>/dev/null||true; pkill -f ibus-daemon 2>/dev/null||true; fcitx5 -rd; dpkg -s fcitx5-mozc >/dev/null 2>&1 || { sudo apt update && sudo apt install -y fcitx5-mozc; }; fcitx5-remote -o; fcitx5-remote -s mozc
実行後の確認
- Ctrl+Space または 半角/全角キー を押して日本語入力に切り替わるか確認
- テキストエディタやブラウザで実際に日本語が入力できるか確認
注意: VS Code、Chrome、Firefox、Terminalなどのアプリケーションは再起動が必要な場合があります。
各コマンドの詳細説明
1) IBusの停止
ibus exit 2>/dev/null || true
pkill -f ibus-daemon 2>/dev/null || true
何をしているか: 残存しているIBusプロセスを完全に停止します。
なぜ必要か:
- システムアップデート後、GNOMEがIBusを自動起動することがあります
- IBusとFcitx5が同時に動作すると、GTKアプリケーションが両方にイベントを送信し、二重入力や入力不能の原因になります
- まず競合相手を確実に排除することで、Fcitx5が正常に動作できる環境を整えます
2) Fcitx5のクリーン再起動
fcitx5 -rd
何をしているか: Fcitx5をD-Bus再登録+エンジン再読み込みします。
オプションの意味:
-
-r: 既存のFcitx5プロセスを置き換え(replace) -
-d: デーモンモードで起動(バックグラウンド実行)
なぜ必要か:
- IBusに握られていたフォーカス・IMモジュール状態をリセット
- Fcitx5を「正規の入力メソッド入口」として再確立
- エンジンの初期化をやり直すことで、正常な状態に戻す
3) Mozcの確認とインストール
dpkg -s fcitx5-mozc >/dev/null 2>&1 || { sudo apt update && sudo apt install -y fcitx5-mozc; }
何をしているか: fcitx5-mozcパッケージの有無を確認し、なければインストールします。
コマンドの構造:
-
dpkg -s fcitx5-mozc: パッケージのステータスを確認 -
||: 前のコマンドが失敗した場合(パッケージがない場合)のみ後ろを実行 -
{ ... }: 波括弧でグルーピングすることで、演算子の優先順位を明確化
なぜ必要か:
- アップデートや依存関係の解決時に、fcitx5-mozcが削除されることがあります
- Mozcがないと、Fcitx5が起動していても変換エンジンが動作しません
4) Mozcのアクティブ化
fcitx5-remote -o # Fcitx5を有効化
fcitx5-remote -s mozc # Mozcを選択
何をしているか:
-
-o: Fcitx5全体を有効化(オン) -
-s mozc: 現在の入力メソッドをMozcに設定
なぜ必要か:
- Fcitx5はデフォルトで「キーボード-jp/us」に戻ることがあります
- 見た目は「ja」でも、変換機能がオフになっている状態を解消します
- 明示的にMozcを「現在のIM」に指定することで、確実に日本語変換が使える状態にします
なぜこの方法で解決するのか
この4ステップは、以下の3つの主要な問題パターンを一掃します:
- 競合問題の解消: IBusとFcitx5の二重起動を防ぐ
- エンジン不在の解消: Mozcが確実にインストールされている状態にする
- 非アクティブ状態の解消: Mozcを明示的に選択・有効化する
これにより、約90%のケースで即座に復旧できます。
再発を防ぐための恒久対策
一時的な復旧ができたら、以下の設定で再発を予防できます。
1) 入力メソッドフレームワークをFcitx5に固定
im-config -n fcitx5
2) 環境変数を全セッションに適用
mkdir -p ~/.config/environment.d
cat > ~/.config/environment.d/80-fcitx.conf <<'EOF'
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
EOF
3) Xorgセッション開始時にFcitx5を自動起動(Xorg使用時)
cat > ~/.xprofile <<'EOF'
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
command -v fcitx5 >/dev/null && (fcitx5 -d || true)
EOF
4) 自動起動の設定
mkdir -p ~/.config/autostart
cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/ 2>/dev/null || true
5) 互換性保険として追加フロントエンドをインストール(任意)
古いアプリケーションや特殊な環境でも確実に動作させたい場合:
sudo apt install -y fcitx5-frontend-gtk3 fcitx5-frontend-gtk4 fcitx5-module-xim
fcitx5 -rd
完全セットアップスクリプト
新しいマシンや、複数のマシンに同じ設定を適用したい場合は、以下のスクリプトを使用できます:
#!/usr/bin/env bash
set -euo pipefail
# パッケージのインストール
sudo apt update
sudo apt install -y fcitx5 fcitx5-mozc fcitx5-frontend-gtk4 fcitx5-config-qt
# 入力メソッドフレームワークの設定
im-config -n fcitx5 || true
# 環境変数の設定
mkdir -p ~/.config/environment.d
cat > ~/.config/environment.d/80-fcitx.conf <<'EOF'
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
EOF
# Xorg起動時の設定(Xorg使用時のみ)
cat > ~/.xprofile <<'EOF'
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
command -v fcitx5 >/dev/null && (fcitx5 -d || true)
EOF
# 自動起動の設定
mkdir -p ~/.config/autostart
cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/ 2>/dev/null || true
# IBusの停止
ibus exit 2>/dev/null || true
pkill -f ibus-daemon 2>/dev/null || true
echo "完了しました。ログアウトして再ログインしてください。"
echo "Xorgを使用する場合は、ログイン画面で「Ubuntu on Xorg」を選択してください。"
このスクリプトを setup_fcitx5.sh として保存し、実行してください:
chmod +x setup_fcitx5.sh
./setup_fcitx5.sh
ワンキー復旧スクリプト(便利ツール)
今後同じ症状が出た時のために、復旧コマンドをスクリプト化しておくと便利です:
#!/usr/bin/env bash
# ~/.local/bin/ime-reset として保存
set -e
echo "日本語入力をリセットしています..."
# IBusの停止
ibus exit >/dev/null 2>&1 || true
pkill -f ibus-daemon >/dev/null 2>&1 || true
# Fcitx5の再起動
fcitx5 -rd
# Mozcの確認とインストール
if ! dpkg -s fcitx5-mozc >/dev/null 2>&1; then
echo "fcitx5-mozcをインストールしています..."
sudo apt update && sudo apt install -y fcitx5-mozc
fi
# Mozcのアクティブ化
fcitx5-remote -o
if fcitx5-remote -l | grep -q mozc; then
fcitx5-remote -s mozc
fi
echo "完了しました!"
echo "Ctrl+Space または 半角/全角キー で日本語入力を試してください。"
echo "アプリケーションの再起動が必要な場合があります。"
保存して実行権限を付与:
mkdir -p ~/.local/bin
chmod +x ~/.local/bin/ime-reset
# 次回から
ime-reset
トラブルシューティング
まだ切り替わらない場合
ケース1: Mozcが一覧に表示されない
# Mozcエンジンの確認
fcitx5-remote -l
# 出力に「mozc」が含まれていない場合
sudo apt install --reinstall fcitx5-mozc
fcitx5 -rd
fcitx5-remote -s mozc
ケース2: VS Codeでのみ日本語入力できない
VS CodeはCtrl+Spaceを「候補表示」に使用しているため、Fcitx5の切替キーと衝突します。
解決法1: VS Codeのキーバインドを変更
- ファイル > 基本設定 > キーボードショートカット
- 「Ctrl+Space」を検索して無効化または別のキーに変更
解決法2: Fcitx5の切替キーを変更
fcitx5-configtool
から「グローバルオプション」→「入力メソッドのオン/オフ」で「半角/全角」のみに設定
ケース3: Firefox/古いアプリでのみ動作しない
GTK3フロントエンドとXIMモジュールを追加:
sudo apt install -y fcitx5-frontend-gtk3 fcitx5-module-xim
fcitx5 -rd
ケース4: 起動直後だけ効かない
自動起動の設定が重複していないか確認:
# 現在の自動起動設定を確認
ls ~/.config/autostart/
# Fcitx5が複数回起動されていないか確認
pgrep -a fcitx5
状態確認コマンド集
問題が解決しない場合、以下のコマンドで現在の状態を確認できます:
# セッションタイプの確認(x11 または wayland)
echo "$XDG_SESSION_TYPE"
# 環境変数の確認(期待値: fcitx / fcitx / @im=fcitx)
echo "GTK_IM_MODULE=$GTK_IM_MODULE"
echo "QT_IM_MODULE=$QT_IM_MODULE"
echo "XMODIFIERS=$XMODIFIERS"
# プロセスの確認(fcitx5のみが動作し、ibusは動作していないこと)
pgrep -a fcitx5
pgrep -a ibus
# 現在の入力メソッドの確認(mozc になっているべき)
fcitx5-remote -n
# 入力メソッドフレームワークの確認
im-config -m
# 利用可能な入力メソッドの一覧
fcitx5-remote -l
これらの出力を確認することで、どこに問題があるかを特定できます。
よくある質問
Q: GNOMEの「ja」表示は正常なのか?
A: はい、正常です。GNOMEの「ja」はキーボード配列の表示であり、入力メソッドの状態ではありません。Fcitx5が正常に動作していれば、「ja」表示のままでも日本語入力は可能です。
見た目で入力モードを確認したい場合は:
fcitx5-configtool
から「アドオン」→「Classic UI」を有効化すると、システムトレイに「A/あ」の表示が出るようになります。
Q: Super+Spaceで切り替わらないのはなぜ?
A: Super+SpaceはGNOMEのキーボード配列切替のショートカットであり、Fcitx5の入力メソッド切替ではありません。
Fcitx5の切替キーは:
- Ctrl+Space: 入力メソッドの有効/無効切替
- 半角/全角: 日本語/英数切替(JISキーボードの場合)
GNOMEの配列切替を無効化したい場合:
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "[]"
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "[]"
Q: Waylandでも使えるのか?
A: はい、この復旧手順はWaylandでも動作します。ただし、環境変数の設定がXorgと若干異なる場合があります。Waylandセッションで問題が発生する場合は、一時的にXorgセッションで試してみてください。
ログイン画面で「Ubuntu on Xorg」を選択することで、Xorgセッションを使用できます。
Q: IBusを完全に削除してもいいのか?
A: GNOMEの一部機能がIBusに依存しているため、慎重に判断してください。完全にFcitx5のみを使用すると決めた場合は:
sudo apt remove ibus
ただし、システムアップデート時に再インストールされる可能性があります。
再発しやすい状況と予防策
再発しやすいタイミング
- システムアップデート後: GNOMEがIBusをデフォルトとして復活させることがあります
- Snap/Flatpakアプリ使用時: これらのアプリは独自の環境変数を持ち、IMモジュールがIBus側に倒れることがあります
- ログイン直後: Fcitx5より先にアプリが起動すると、IM初期化の順序が逆転することがあります
予防策のチェックリスト
- ✅
im-config -n fcitx5でフレームワークを固定 - ✅ 環境変数を
~/.config/environment.d/80-fcitx.confで設定 - ✅ 自動起動を設定(
~/.config/autostart/または~/.xprofile) - ✅ 復旧スクリプトを用意しておく
まとめ
Ubuntu 24.04での日本語入力問題は、IBusとFcitx5の競合が主な原因です。本記事で紹介した4ステップの復旧コマンドを実行することで、再起動なしで即座に復旧できます。
復旧コマンド(再掲)
ibus exit 2>/dev/null || true
pkill -f ibus-daemon 2>/dev/null || true
fcitx5 -rd
dpkg -s fcitx5-mozc >/dev/null 2>&1 || { sudo apt update && sudo apt install -y fcitx5-mozc; }
fcitx5-remote -o
fcitx5-remote -s mozc
ポイント
- 📌 IBusとFcitx5は同時に動作させない
- 📌 Mozcが確実にインストールされている状態を保つ
- 📌 Mozcを明示的にアクティブにする
- 📌 環境変数を正しく設定して恒久対策を行う
この方法で、約90%のケースで即座に復旧できます。再発する場合は、本記事の恒久対策セクションを参考に、環境を整えてください。
同じ症状で困っている方の助けになれば幸いです!
参考リンク
変更履歴
- 2025-10-11: 初版公開 - Fcitx5 + Mozc環境での即時復旧方法と恒久対策をまとめました