fcitx5在wayland下的chromium, electron等软件输入偶发漏字问题

这个问题在之前的帖子有过相关讨论,但是我这的问题又有些不一样,看了很多wiki和建议,并没有什么作用

[分享] 使用code-oss时输入法漏字和启动缓慢问题

英文locale解决fcitx5漏字、误删等问题

我现在使用的环境是KDE Plasma 6.6.3,chromium electron的大部分界面都是可以正常输入文字的,比如说文字编辑器

但是只要碰到终端界面,输入就会发生漏字的问题,例如在chromium里实现的终端界面:

Kooha-2026-04-03-10-05-19

vscode终端也是如此:

Kooha-2026-04-03-10-03-04

fcitx5-diagnose输出:

➜  ~ fcitx5-diagnose
# System Info:
1.  `uname -a`:

        Linux szleaves-dev 6.19.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 26 Mar 2026 19:20:28 +0000 x86_64 GNU/Linux

2.  `lsb_release`:

    `lsb_release` not found.

3.  `/etc/lsb-release`:

    `/etc/lsb-release` not found.

4.  `/etc/os-release`:

        NAME="Arch Linux"
        PRETTY_NAME="Arch Linux"
        ID=arch
        BUILD_ID=rolling
        ANSI_COLOR="38;2;23;147;209"
        HOME_URL="https://archlinux.org/"
        DOCUMENTATION_URL="https://wiki.archlinux.org/"
        SUPPORT_URL="https://bbs.archlinux.org/"
        BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
        PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
        LOGO=archlinux-logo

5.  Desktop Environment:

    Desktop environment is `kde`.

6.  XDG SESSION TYPE:

        XDG_SESSION_TYPE='wayland'

7.  Bash Version:

        BASH_VERSION='5.3.9(1)-release'

# Environment:
1.  DISPLAY:

        DISPLAY=':1'


        WAYLAND_DISPLAY='wayland-0'

2.  Keyboard Layout:

    1.  `setxkbmap`:

            WARNING: Running setxkbmap against an Xwayland server
            xkb_keymap {
                xkb_keycodes  { include "evdev+aliases(qwerty)" };
                xkb_types     { include "complete"      };
                xkb_compat    { include "complete"      };
                xkb_symbols   { include "pc+us+inet(evdev)"     };
                xkb_geometry  { include "pc(pc105)"     };
            };

    2.  `xprop`:

            _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", ""

3.  Locale:

    1.  All locales:

            C
            C.utf8
            en_US.utf8
            POSIX

    2.  Current locale:

            LANG=en_US.UTF-8
            LC_CTYPE="en_US.UTF-8"
            LC_NUMERIC="en_US.UTF-8"
            LC_TIME="en_US.UTF-8"
            LC_COLLATE="en_US.UTF-8"
            LC_MONETARY="en_US.UTF-8"
            LC_MESSAGES="en_US.UTF-8"
            LC_PAPER="en_US.UTF-8"
            LC_NAME="en_US.UTF-8"
            LC_ADDRESS="en_US.UTF-8"
            LC_TELEPHONE="en_US.UTF-8"
            LC_MEASUREMENT="en_US.UTF-8"
            LC_IDENTIFICATION="en_US.UTF-8"
            LC_ALL=

4.  Directories:

    1.  Home:

            /home/szhou

    2.  `${XDG_CONFIG_HOME}`:

        Environment variable `XDG_CONFIG_HOME` is not set.

        Current value of `XDG_CONFIG_HOME` is `~/.config` (`/home/szhou/.config`).

    3.  Fcitx5 Settings Directory:

        Current fcitx5 settings directory is `~/.config/fcitx5` (`/home/szhou/.config/fcitx5`).

5.  Current user:

    The script is run as szhou (1000).

# Fcitx State:
1.  executable:

    Found fcitx5 at `/usr/bin/fcitx5`.

2.  version:

    Fcitx version: `5.1.19`

3.  process:

    Found 3 fcitx5 processes:

           1661 fcitx5-wayland-
           1663 fcitx5
           1765 fcitx5-plasma-t

4.  `fcitx5-remote`:

    `fcitx5-remote` works properly.

5.  DBus interface:

    Using `dbus-send` to check dbus.

    Owner of DBus name `org.fcitx.Fcitx5` is `:1.20`.

    PID of DBus name `org.fcitx.Fcitx5` owner is `1663`.

    Debug information from dbus:

           Group [x11::1] has 1 InputContext(s)
          IC [223d2add06164bd5aa5d77e0497db5f4] program:wechat frontend:fcitx4 cap:800072 focus:0
        Group [wayland:] has 5 InputContext(s)
          IC [43d791fc92d6472c83bfdd930b53a1b2] program:org.kde.konsole frontend:wayland cap:72 focus:1
          IC [db4e969a27ae4859aab9edab416979e9] program:org.kde.konsole frontend:wayland cap:72 focus:0
          IC [b548a53e6f9a4bc98426f6394b9f872d] program:org.kde.dolphin frontend:wayland cap:72 focus:0
          IC [57ffecea42a34d8a94a2ee2e24f3a2d2] program:google-chrome frontend:wayland cap:80072 focus:0
          IC [4b69a309574f4651b8a00585fbbb8d3d] program: frontend:wayland cap:72 focus:0
        Input Context without group

# Frontends setup:
The environment variable checked by this script only shows the environment under current shell. It is still possible that you did not set the environment to the whole graphic desktop session. You may inspect the actual environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/environ` for a certain process that you find not working.

## Xim:
1.  `${XMODIFIERS}`:

    Environment variable XMODIFIERS is set to "@im=fcitx" correctly.
    Xim Server Name from Environment variable is fcitx.

2.  XIM_SERVERS on root window:

    Xim server name is the same with that set in the environment variable.

## Qt:
1.  qt4 - `${QT4_IM_MODULE}`:

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

    **`fcitx5-qt4-immodule-probing` not found.**

2.  qt5 - `${QT_IM_MODULE}`:

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

    Using fcitx5-qt5-immodule-probing to check the actual im module to be used under current environment:

        QT_QPA_PLATFORM=wayland
        QT_IM_MODULE=fcitx
        IM_MODULE_CLASSNAME=fcitx::QFcitxPlatformInputContext

3.  qt6 - `${QT_IM_MODULE}`:

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

    Using fcitx5-qt6-immodule-probing to check the actual im module to be used under current environment:

        QT_QPA_PLATFORM=wayland
        QT_IM_MODULES="wayland;fcitx"
        IM_MODULE_CLASSNAME=QtWaylandClient::QWaylandInputContext

4.  Qt IM module files:

    Found fcitx5 im module for qt6: `/usr/lib/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`.
    Found unknown fcitx qt module: `/usr/lib/qt6/plugins/plasma/kcms/systemsettings/kcm_fcitx5.so`.
    Found fcitx5 im module for qt: `/usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`.
    Found fcitx5 qt6 module: `/usr/lib/fcitx5/qt6/libfcitx-quickphrase-editor5.so`.
    Found unknown fcitx qt module: `/usr/lib/office6/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`.

    Following error may not be accurate because guessing Qt version from path depends on how your distribution packages Qt. It is not a critical error if you do not use any Qt application with certain version of Qt or you are using text-input support by Qt under Wayland.
    **Cannot find fcitx5 input method module for Qt4.**

## Gtk:
1.  gtk - `${GTK_IM_MODULE}`:

    Environment variable GTK_IM_MODULE is set to "fcitx" correctly.

    **`fcitx5-gtk2-immodule-probing` not found.**

    Using fcitx5-gtk3-immodule-probing to check the actual im module to be used under current environment:

        GTK_IM_MODULE=fcitx

    Using fcitx5-gtk4-immodule-probing to check the actual im module to be used under current environment:

        GTK_IM_MODULE=fcitx

2.  `gtk-query-immodules`:

    1.  gtk 2:

        Found `gtk-query-immodules` for gtk `2.24.33` at `/usr/bin/gtk-query-immodules-2.0`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33

        **Failed to find fcitx5 in the output of `/usr/bin/gtk-query-immodules-2.0`**

        **Cannot find fcitx5 im module for gtk 2.**

    2.  gtk 3:

        Found `gtk-query-immodules` for gtk `3.24.52` at `/usr/bin/gtk-query-immodules-3.0`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.52

        Found fcitx5 im modules for gtk `3.24.52`.

            "/usr/lib/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 IM module cache:

    1.  gtk 2:

        Found immodules cache for gtk `2.24.33` at `/usr/lib/gtk-2.0/2.10.0/immodules.cache`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33

        **Failed to find fcitx5 in immodule cache at `/usr/lib/gtk-2.0/2.10.0/immodules.cache`**

        **Cannot find fcitx5 im module for gtk 2 in cache.**

    2.  gtk 3:

        Found immodules cache for gtk `3.24.52` at `/usr/lib/gtk-3.0/3.0.0/immodules.cache`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.52

        Found fcitx5 im modules for gtk `3.24.52`.

            "/usr/lib/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:*" 

4.  Gtk IM module files:

    1.  gtk 2:

        All found Gtk 2 immodule files exist.

    2.  gtk 3:

        All found Gtk 3 immodule files exist.

    3.  gtk 4:

        All found Gtk 4 immodule files exist.

# Configuration:
## Fcitx Addons:
1.  Addon Config Dir:

    Found fcitx5 addon config directory: `/usr/share/fcitx5/addon`.

2.  Addon List:

    1.  Found 28 enabled addons:

            Anthy 5.1.10
            Simplified and Traditional Chinese Translation 5.1.12
            Classic User Interface 5.1.19
            Clipboard 5.1.19
            Cloud Pinyin 5.1.12
            DBus 5.1.19
            DBus Frontend 5.1.19
            Emoji 5.1.19
            Fcitx4 Frontend 5.1.19
            Full width character 5.1.12
            IBus Frontend 5.1.19
            Input method selector 5.1.19
            Keyboard 5.1.19
            KDE Input Method Panel 5.1.19
            Status Notifier 5.1.19
            Notification 5.1.19
            Pinyin 5.1.12
            Extra Pinyin functionality 5.1.12
            Punctuation 5.1.12
            Quick Phrase 5.1.19
            Spell 5.1.19
            Table 5.1.12
            Unicode 5.1.19
            DBus Virtual Keyboard 5.1.19
            Wayland 5.1.19
            Wayland Input method frontend 5.1.19
            XCB 5.1.19
            X Input Method Frontend 5.1.19

    2.  Found 0 disabled addons:

3.  Addon Libraries:

    All libraries for all addons are found.

4.  User Interface:

    Found 3 enabled user interface addons:

        Classic User Interface
        KDE Input Method Panel
        DBus Virtual Keyboard

## Input Methods:
1.  `/home/szhou/.config/fcitx5/profile`:

        [Groups/0]
        # Group Name
        Name=Default
        # Layout
        Default Layout=us
        # Default Input Method
        DefaultIM=pinyin

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

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

        [GroupOrder]
        0=Default

# Log:
1.  `date`:

        Fri Apr  3 10:17:10 AM CST 2026

2.  `/home/szhou/.config/fcitx5/crash.log`:

    `/home/szhou/.config/fcitx5/crash.log` not found.

**Warning: the output of fcitx5-diagnose contains sensitive information, including the distribution name, kernel version, name of currently running programs, etc.**

**Though such information can be helpful to developers for diagnostic purpose, please double check and remove as necessary before posting it online publicly.**

flag启动参数:

➜  ~ cat .config/chrome-flags.conf
--ozone-platform-hint=auto
--ozone-platform=wayland
--gtk-version=4

➜  ~ cat .config/electron-flags.conf  
--ozone-platform-hint=auto
--ozone-platform=wayland
--gtk-version=4

环境变量:

➜  ~ cat .config/environment.d/im.conf
GTK_IM_MODULE=fcitx
QT_IM_MODULES=wayland;fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

看起来是某些网页对中文输出的支持不好。请考虑试试Windows或者macOS上能否复现。另外请考虑找个可以公开访问的复现网址。

主要是在vscode的终端里也这样,也就只有终端的地方会这样,是什么组件导致的吗,windows上至少不会出现这样的问题

试试在chromium和electron启动的快捷方式那里添加这些命令:--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime

已经有了,并没有用,本来也是可以输入中文的,现在的问题是选择字上屏的时候会漏字,而且只有终端的界面这样,不太清楚是什么导致的