风滚草下 fcitx5 无法在浏览器输入中文

我在风滚草下安装了 fcitx5,并且按照 arch wiki 的方式设置了 environment 文件,fcitx5 在 libreoffice 和系统输入上可以正常使用,但是无法在浏览器上输入中文,换了好几个浏览器还是这样。
这是我运行 fcitx5-diagnose 的结果,希望有大佬能解决一下这个问题

系统信息:

  1. uname -a:

    Linux 10.0.2.15 6.0.8-1-default #1 SMP PREEMPT_DYNAMIC Fri Nov 11 08:02:50 UTC 2022 (1579d93) x86_64 x86_64 x86_64 GNU/Linux
    
  2. lsb_release -a:

    LSB Version:    n/a
    Distributor ID: openSUSE
    Description:    openSUSE Tumbleweed
    Release:        20221128
    Codename:       n/a
    
  3. lsb_release -d:

    Description:    openSUSE Tumbleweed
    
  4. /etc/lsb-release:

    /etc/lsb-release 未找到.

  5. /etc/os-release:

    NAME="openSUSE Tumbleweed"
    # VERSION="20221128"
    ID="opensuse-tumbleweed"
    ID_LIKE="opensuse suse"
    VERSION_ID="20221128"
    PRETTY_NAME="openSUSE Tumbleweed"
    ANSI_COLOR="0;32"
    CPE_NAME="cpe:/o:opensuse:tumbleweed:20221128"
    BUG_REPORT_URL="https://bugs.opensuse.org"
    HOME_URL="https://www.opensuse.org/"
    DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
    LOGO="distributor-logo-Tumbleweed"
    
  6. 桌面环境:
    桌面环境为 kde

  7. XDG 会话类型:
    XDG_SESSION_TYPE=‘x11’

  8. Bash 版本:
    BASH_VERSION=‘5.2.9(1)-release’

环境:1. DISPLAY:

    DISPLAY=':0'


    WAYLAND_DISPLAY=''
  1. 键盘布局:
    1. setxkbmap:

      xkb_keymap {
          xkb_keycodes  { include "evdev+aliases(qwerty)" };
          xkb_types     { include "complete"      };
          xkb_compat    { include "complete"      };
          xkb_symbols   { include "pc+cn+inet(evdev)+terminate(ctrl_alt_bksp)"    };
          xkb_geometry  { include "pc(pc104)"     };
      };
      
    2. xprop:

      _XKB_RULES_NAMES(STRING) = "evdev", "pc104", "cn", "", "terminate:ctrl_alt_bksp"
      
  2. 目录:
    1. 主目录:
      /home/zheng

    2. ${XDG_CONFIG_HOME}:

      环境变量 XDG_CONFIG_HOME 没有设定。
      XDG_CONFIG_HOME 的当前值是 ~/.config (/home/zheng/.config)。

    3. Fcitx5 设置目录:
      当前 fcitx5 设置目录是 ~/.config/fcitx5 (/home/zheng/.config/fcitx5)。

  3. 当前用户:
    脚本作为 zheng (1000) 运行。

Fcitx 状态:

  1. 可执行文件:
    /usr/bin/fcitx5 找到了 fcitx5。

  2. 版本:
    Fcitx 版本: 5.0.20

  3. 进程:
    找到了 3 个 fcitx5 进程:
    1408 fcitx5
    1742 fcitx5
    6159 fcitx5

  4. fcitx5-remote:

    fcitx5-remote 工作正常。

  5. DBus 界面:
    使用 dbus-send 来检查 dbus。
    DBus 名称 org.fcitx.Fcitx5 的所有者是 :1.106
    DBus 名称 org.fcitx.Fcitx5 的 PID 所有者是 6159
    来自 dbus 的调试信息:
    Group [x11::0] has 9 InputContext(s)
    IC [2f676fd235f54b1cba08f84a540ddfdd] program:plasmashell frontend:dbus cap:16000800072 focus:0
    IC [d98985e640844d90ba45d6a706249eaf] program:konsole frontend:dbus cap:6000800072 focus:1
    IC [0e002a4b4ba448bc9424040fd2b45700] program:plasmashell frontend:dbus cap:16000800072 focus:0
    IC [769b5567c7704c689fb00d61c45ac275] program:plasmashell frontend:dbus cap:0 focus:0
    IC [d2186c2acb7f4b4587ea98c5b08bd126] program:plasmashell frontend:dbus cap:0 focus:0
    IC [926c7cfff0d4426c8814d8c5f51824d9] program:plasmashell frontend:dbus cap:0 focus:0
    IC [8e48c5032aef466281a683aa8e344c10] program:konsole frontend:dbus cap:0 focus:0
    IC [a215cafecd744e8b8c4cf4cd992c343c] program:plasmashell frontend:dbus cap:0 focus:0
    IC [30b91a353ba448b8981fc5fa78a5d086] program:konsole frontend:dbus cap:0 focus:0
    Input Context without group

Fcitx 配置界面:1. 配置工具封装:

在 `/usr/bin/fcitx5-configtool` 找到了 fcitx5-configtool。
  1. Qt 的配置界面:
    /usr/bin/fcitx5-config-qt 找到了 fcitx5-config-qt
  2. KDE 的配置界面:
    找到了 fcitx5 的 kcm 模块。
    kcm_fcitx5 - 配置输入法

前端设置:## Xim:

  1. ${XMODIFIERS}:

    环境变量 XMODIFIERS 已经正确地设为了 “@im=fcitx”。 从环境变量中获取的 Xim 服务名称为 fcitx.

  2. 根窗口上的 XIM_SERVERS:
    Xim 服务的名称与环境变量中设置的相同。

Qt:

  1. qt4 - ${QT4_IM_MODULE}:

    环境变量 QT_IM_MODULE 已经正确地设为了 “fcitx”。

  2. qt5 - ${QT_IM_MODULE}:

    环境变量 QT_IM_MODULE 已经正确地设为了 “fcitx”。

  3. Qt 输入法模块文件:
    找到了 fcitx5 qt5 模块:/usr/lib64/fcitx5/qt5/libfcitx-quickphrase-editor5.so。 找到了未知的 fcitx qt 模块:/usr/lib64/qt5/plugins/kcms/kcm_fcitx5.so。 找到了 fcitx5 的 qt5 输入法模块:/usr/lib64/qt5/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so
    下列错误也许并不准确,因为对 Qt 版本的猜测取决于发行版如何打包 Qt。如果您不使用任何对应版本的 Qt 程序,或者在 Wayland 下使用 Qt 的 text-input 支持,下列错误也也不是严重问题。 无法找到 Qt4 的 fcitx5 输入法模块。
    无法找到 Qt6 的 fcitx6 输入法模块。

Gtk:

  1. gtk - ${GTK_IM_MODULE}:

    环境变量 GTK_IM_MODULE 已经正确地设为了 “fcitx”。

  2. gtk-query-immodules:

    1. gtk 2:

      /usr/bin/gtk-query-immodules-2.0 找到了 gtk 2.24.33gtk-query-immodules。 版本行:
      # Created by /usr/bin/gtk-query-immodules-2.0 from gtk±2.24.33

      无法在 /usr/bin/gtk-query-immodules-2.0 的输出中找到 fcitx5。

      /usr/bin/gtk-query-immodules-2.0-64 找到了 gtk 2.24.33gtk-query-immodules。 版本行:
      # Created by /usr/bin/gtk-query-immodules-2.0-64 from gtk±2.24.33

      已找到 gtk 2.24.33 的 fcitx5 输入法模块。
      “/usr/lib64/gtk-2.0/2.10.0/immodules/im-fcitx5.so”
      “fcitx” “Fcitx5 (Flexible Input Method Framework5)” “fcitx5” “/usr/locale” “ja:ko:zh:"
      “fcitx5” “Fcitx5 (Flexible Input Method Framework5)” “fcitx5” “/usr/locale” "ja:ko:zh:

    2. gtk 3:

      /usr/bin/gtk-query-immodules-3.0 找到了 gtk 3.24.34gtk-query-immodules。 版本行:
      # Created by /usr/bin/gtk-query-immodules-3.0 from gtk±3.24.34

      无法在 /usr/bin/gtk-query-immodules-3.0 的输出中找到 fcitx5。

      /usr/bin/gtk-query-immodules-3.0-64 找到了 gtk 3.24.34gtk-query-immodules。 版本行:
      # Created by /usr/bin/gtk-query-immodules-3.0-64 from gtk±3.24.34

      已找到 gtk 3.24.34 的 fcitx5 输入法模块。
      “/usr/lib64/gtk-3.0/3.0.0/immodules/im-fcitx5.so”
      “fcitx” “Fcitx5 (Flexible Input Method Framework5)” “fcitx5” “/usr/locale” “ja:ko:zh:"
      “fcitx5” “Fcitx5 (Flexible Input Method Framework5)” “fcitx5” “/usr/locale” "ja:ko:zh:

  3. Gtk 输入法模块缓存:

    1. gtk 2:

      /usr/lib/gtk-2.0/2.10.0/immodules.cache 找到了 gtk 2.24.33 的输入法模块缓存。 版本行:
      # Created by /usr/bin/gtk-query-immodules-2.0 from gtk±2.24.33

      无法输入法模块缓存 /usr/lib/gtk-2.0/2.10.0/immodules.cache 中找到 fcitx5

      /usr/lib64/gtk-2.0/2.10.0/immodules.cache 找到了 gtk 2.24.33 的输入法模块缓存。 版本行:
      # Created by /usr/bin/gtk-query-immodules-2.0-64 from gtk±2.24.33

      已找到 gtk 2.24.33 的 fcitx5 输入法模块。
      “/usr/lib64/gtk-2.0/2.10.0/immodules/im-fcitx5.so”
      “fcitx” “Fcitx5 (Flexible Input Method Framework5)” “fcitx5” “/usr/locale” “ja:ko:zh:"
      “fcitx5” “Fcitx5 (Flexible Input Method Framework5)” “fcitx5” “/usr/locale” "ja:ko:zh:

    2. gtk 3:

      /usr/lib/gtk-3.0/3.0.0/immodules.cache 找到了 gtk 3.24.34 的输入法模块缓存。 版本行:
      # Created by /usr/bin/gtk-query-immodules-3.0 from gtk±3.24.34

      无法输入法模块缓存 /usr/lib/gtk-3.0/3.0.0/immodules.cache 中找到 fcitx5

      /usr/lib64/gtk-3.0/3.0.0/immodules.cache 找到了 gtk 3.24.34 的输入法模块缓存。 版本行:
      # Created by /usr/bin/gtk-query-immodules-3.0-64 from gtk±3.24.34

      已找到 gtk 3.24.34 的 fcitx5 输入法模块。
      “/usr/lib64/gtk-3.0/3.0.0/immodules/im-fcitx5.so”
      “fcitx” “Fcitx5 (Flexible Input Method Framework5)” “fcitx5” “/usr/locale” “ja:ko:zh:"
      “fcitx5” “Fcitx5 (Flexible Input Method Framework5)” “fcitx5” “/usr/locale” "ja:ko:zh:

    3. gtk 4:

      无法找到 gtk 4 的输入法模块缓存

      无法在缓存中找到 gtk 4 的 fcitx5 输入法模块。

  4. Gtk 输入法模块文件:

    1. gtk 2:

      找到的全部 Gtk 2 输入法模块文件均存在。

    2. gtk 3:

      找到的全部 Gtk 3 输入法模块文件均存在。

    3. gtk 4:

      找到的全部 Gtk 4 输入法模块文件均存在。

配置:

Fcitx 插件:1. 插件配置文件目录:

找到了 fcitx5 的插件配置目录:`/usr/share/fcitx5/addon`。
  1. 插件列表:

    1. 找到了 29 个已启用的插件:
      Simplified and Traditional Chinese Translation 5.0.16
      Classic User Interface 5.0.20
      Clipboard 5.0.20
      Cloud Pinyin 5.0.16
      DBus 5.0.20
      DBus Frontend 5.0.20
      Emoji 5.0.20
      Fcitx4 Frontend 5.0.20
      Full width character 5.0.16
      IBus Frontend 5.0.20
      Lua IME API 5.0.10
      Input method selector 5.0.20
      Keyboard 5.0.20
      KDE Input Method Panel 5.0.20
      Lua Addon Loader 5.0.10
      migration-reminder
      Status Notifier 5.0.20
      Notification 5.0.20
      Pinyin 5.0.16
      Extra Pinyin functionality 5.0.16
      Punctuation 5.0.16
      Quick Phrase 5.0.20
      Spell 5.0.20
      Table 5.0.16
      Unicode 5.0.20
      Wayland 5.0.20
      Wayland Input method frontend 5.0.20
      XCB 5.0.20
      X Input Method Frontend 5.0.20

    2. 找到了 0 个被禁用的插件:

  2. 插件库:

    所有插件所需的库都被找到。

  3. 用户界面:
    找到了 2 个已启用的用户界面插件:
    Classic User Interface
    KDE Input Method Panel

输入法:1. /home/zheng/.config/fcitx5/profile:

    [Groups/0]
    # Group Name
    Name=默认        # Layout
    Default Layout=cn
    # Default Input Method
    DefaultIM=pinyin

    [Groups/0/Items/0]
    # Name
    Name=keyboard-cn
    # Layout
    Layout=

    [Groups/0/Items/1]
    # Name
    Name=pinyin
    # Layout
    Layout=

    [GroupOrder]
    0=默认

日志:1. date:

2022年11月30日星期三 08:51:35 CST

  1. /home/zheng/.config/fcitx5/crash.log:

    /home/zheng/.config/fcitx5/crash.log 未找到.

1赞

你这怎么三个 fcitx5 进程?

openSUSE 的 fcitx5 是用户服务:

sudo zypper in systemd-inputmethod-generator
systemctl —user enable fcitx5
systemctl —user start fcitx5

/etc/environment 不用自己修改。

我按照你的方法试了,这是反馈结果
image

你的命令打错了,应该是 systemctl --user
我在用正确的命令启动服务后,浏览器还是无法调用 fcitx5 输入法。

你有两个 GTK 3 的 immodules.cache,其中一个里没有 fcitx5。

我尝试重新安装了 fcitx5-gtk2 fcitx5-gtk3 fcitx5-gtk4 这三个包,但输出结果仍是无法在 immodules.cache 里找到 fcitx5。

我用这条命令 gtk-query-immodules-3.0 --update-cache 尝试更新缓存,但得到的结果依然是找不到 fcitx5。

重新安装,删除用户目录下旧的配置文件,让它生成新的配置文件。

本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。