0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

fcitx5 5.1.15にアップグレードするとMozcが使えなくなる

Last updated at Posted at 2025-10-26

注意

Claude Codeが書いた記事を軽くレビューしただけです。
現状、paruのアップデート時にignoreしている旨が出てくるので、方法1で止めています。

fcitx5 5.1.15のD-Bus通信エラーと解決方法

はじめに

Arch Linuxでfcitx5を使用している環境で、バージョン5.1.15にアップグレードすると日本語入力が完全に動作しなくなる問題が発生しました。同じ問題に遭遇している方のために、原因と解決方法をまとめます。

環境情報:

  • OS: Arch Linux (Kernel 6.17.5-arch1-1)
  • ウィンドウマネージャ: Hyprland
  • ディスプレイサーバー: Wayland
  • 日付: 2025-10-26

問題の症状

fcitx5を5.1.15にアップグレードした後、以下の症状が発生しました:

1. fcitx5-remoteが完全に応答しない

$ fcitx5-remote
Failed to get reply.

$ fcitx5-remote -n
Failed to get reply.

2. プロセスは起動しているが通信できない

$ ps aux | grep fcitx5
tagawa    912  0.0  0.0 358336 33116 ?  Ssl  14:54  0:00 /usr/bin/fcitx5

$ busctl --user list | grep fcitx
org.fcitx.Fcitx5                             912 fcitx5  tagawa :1.16  user@60035.service -  -

fcitx5プロセスは実行中で、D-Busサービスも登録されていますが、実際の通信が機能していません。

3. どのアプリでも日本語入力不可

  • Ctrl+Spaceを押してもIMEが切り替わらない
  • fcitx5-configtoolは起動するが、メイン機能との通信ができない
  • 全てのアプリケーション(GTK、Qt、XWayland)で日本語入力が不可能

試したこと(すべて効果なし)

systemdサービスとして再起動

systemctl --user stop fcitx5
pkill -9 fcitx5
systemctl --user start fcitx5

結果: D-Bus通信エラーは解消されず

環境変数の再確認

$ echo $DBUS_SESSION_BUS_ADDRESS
unix:path=/run/user/60035/bus

$ cat /proc/912/environ | tr '\0' '\n' | grep DBUS
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/60035/bus

結果: D-Busアドレスは一致しており、環境変数の問題ではない

fcitx5-diagnoseの実行

診断ツールは全ての設定が正常であることを報告:

  • GTK/Qt IMモジュール: 正常
  • 全アドオン(DBusアドオン含む): 正常にロード
  • 設定ファイル: 問題なし

しかし、D-Bus通信だけが失敗し続けます。

原因の特定

Arch Linux Forumで同様の報告を発見:

結論: fcitx5 5.1.15にバグがあり、D-Busインターフェースが正しく機能しない。

解決方法

方法1: ダウングレード(即座の対処)

最も確実で即効性のある方法は、fcitx5を5.1.14にダウングレードすることです。

手順

# downgradeツールを使用(未インストールの場合)
paru -S downgrade

# fcitx5をダウングレード
sudo downgrade fcitx5

リストから 5.1.14-1 を選択します。

downgradeツールは自動的に/etc/pacman.confに以下を追加するか確認します:

IgnorePkg = fcitx5

「Yes」を選択すると、自動アップグレードがブロックされます。

確認

$ fcitx5-remote
2

$ pacman -Q fcitx5
fcitx5 5.1.14-1

D-Bus通信が正常に動作し、日本語入力が復活します。

注意点

この方法では全バージョンのアップグレードがブロックされるため、5.1.16が出ても手動で設定を解除する必要があります。

方法2: pacman hookで5.1.15のみをブロック(推奨)

設定を忘れがちな方や、5.1.16が出たら自動的にアップグレードしたい方向けの方法です。

メリット:

  • 5.1.15のみをブロック、5.1.16以上は自動的に許可
  • pacman、paru、yay全てで動作
  • 設定を忘れても問題なし

1. hookファイルを作成

sudo mkdir -p /etc/pacman.d/hooks
sudo vim /etc/pacman.d/hooks/block-fcitx5-5.1.15.hook

内容:

[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = fcitx5

[Action]
Description = fcitx5 5.1.15へのアップグレードをブロック
When = PreTransaction
Exec = /usr/local/bin/block-fcitx5-5.1.15.sh
AbortOnFail

2. ブロックスクリプトを作成

sudo vim /usr/local/bin/block-fcitx5-5.1.15.sh

内容:

#!/bin/bash
# fcitx5 5.1.15へのアップグレードをブロックし、5.1.16以上は許可

NEW_VERSION=$(pacman -Sp --print-format '%v' fcitx5 2>/dev/null | cut -d'-' -f1)

if [[ "$NEW_VERSION" == "5.1.15" ]]; then
    echo ""
    echo "========================================="
    echo "⚠️  fcitx5 5.1.15はD-Bus問題があります"
    echo "========================================="
    echo "アップグレードをブロックしました。"
    echo ""
    echo "5.1.16以上が利用可能になったら、このhookは自動的に"
    echo "アップグレードを許可します。"
    echo ""
    echo "このhookを無効化するには:"
    echo "  sudo rm /etc/pacman.d/hooks/block-fcitx5-5.1.15.hook"
    echo "========================================="
    echo ""
    exit 1  # アップグレードを中断
else
    echo "fcitx5 $NEW_VERSION へのアップグレードを許可"
    exit 0  # アップグレードを続行
fi

3. スクリプトを実行可能にする

sudo chmod +x /usr/local/bin/block-fcitx5-5.1.15.sh

4. 既存のIgnorePkgを削除(hook使用の場合)

/etc/pacman.confを編集:

sudo vim /etc/pacman.conf

以下の行を削除またはコメントアウト:

# IgnorePkg = fcitx5

5. 動作確認

# システムアップグレード
paru -Syu

もし5.1.15がリポジトリにある場合、以下のメッセージが表示されます:

=========================================
⚠️  fcitx5 5.1.15はD-Bus問題があります
=========================================
アップグレードをブロックしました。

5.1.16以上が利用可能になったら、このhookは自動的に
アップグレードを許可します。
=========================================

5.1.16以上の場合は自動的にアップグレードが許可されます。

2つの方法の比較

設定方法 IgnorePkg(方法1) pacman hook(方法2)
設定の簡単さ ★★★ とても簡単 ★★☆ やや複雑
特定バージョンのみブロック ✗ 不可能(全バージョン) ✓ 可能(5.1.15のみ)
5.1.16が出たら 手動で解除が必要 自動的に許可
設定を忘れるリスク 高い 低い(自動処理)
paruでも動作
yayでも動作

推奨:

  • 今すぐ解決したい → 方法1
  • 長期的に管理したい → 方法2

pacman hookの仕組み

pacman hookはpacmanのトランザクション処理に介入するため、pacmanを使用する全てのツールで動作します:

paru -Syu
  ↓
内部でpacmanを呼び出し
  ↓
sudo pacman -S ... (実際の処理)
  ↓
pacman hook実行 ← ここでバージョンチェック
  ↓
5.1.15の場合: exit 1 でブロック
5.1.16以上: exit 0 で続行

このため、paru、yay、pacman全てで同じようにブロックされます。

まとめ

fcitx5 5.1.15にはD-Bus通信の重大なバグがあり、日本語入力が完全に機能しなくなります。

即座の解決策:

paru -S downgrade
sudo downgrade fcitx5
# 5.1.14-1 を選択

長期的な解決策:

  • pacman hookを設定して5.1.15のみをブロック
  • 5.1.16以上は自動的にアップグレードを許可
  • 設定を忘れても問題なし

現在5.1.14で安定動作しており、5.1.16のリリースを待っている状態です。

参考リンク


作成日: 2025-10-26
最終更新: 2025-10-26

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?