fcitx / fcitx5-rime

213 stars 22 forks source link

通过Plasma 6启动的Fcitx5无法重新加载RIME设置 / Cannot reload RIME settings when Fcitx5 is launched via Plasma 6 #93

Closed pluiedev closed 4 months ago

pluiedev commented 6 months ago

最近升级到Plasma 6后发现更改default.scheme.yaml后,RIME对此毫无反应,登出登入与重启多次后均无效。点击Deploy/Synchronize没有一般会跳出来的提示,难道是重载设置这项功能完全坏掉了?

I recently updated to Plasma 6 and I found that RIME doesn't react at all when I modified default.scheme.yaml, even after several logouts and reboots. The usual notification doesn't appear at all after clicking the Deploy/Synchronize buttons, which makes me wonder: is the reload functionality completely broken under Plasma 6?

wengxt commented 6 months ago

@pluiedev fcitx5-diagnose 一下

pluiedev commented 6 months ago
# System Info:
1.  `uname -a`:

        Linux fettuccine 6.6.21 #1-NixOS SMP PREEMPT_DYNAMIC Wed Mar  6 14:48:45 UTC 2024 x86_64 GNU/Linux

2.  `lsb_release`:

    `lsb_release` not found.

3.  `/etc/lsb-release`:

        DISTRIB_CODENAME=uakari
        DISTRIB_DESCRIPTION="NixOS 24.05 (Uakari)"
        DISTRIB_ID=nixos
        DISTRIB_RELEASE="24.05"
        LSB_VERSION="24.05 (Uakari)"

4.  `/etc/os-release`:

        ANSI_COLOR="1;34"
        BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
        BUILD_ID="24.05.20240309.3030f18"
        DOCUMENTATION_URL="https://nixos.org/learn.html"
        HOME_URL="https://nixos.org/"
        ID=nixos
        IMAGE_ID=""
        IMAGE_VERSION=""
        LOGO="nix-snowflake"
        NAME=NixOS
        PRETTY_NAME="NixOS 24.05 (Uakari)"
        SUPPORT_URL="https://nixos.org/community.html"
        VERSION="24.05 (Uakari)"
        VERSION_CODENAME=uakari
        VERSION_ID="24.05"

5.  Desktop Environment:

    Desktop environment is `kde`.

6.  XDG SESSION TYPE:

        XDG_SESSION_TYPE='wayland'

7.  Bash Version:

        BASH_VERSION='5.2.26(1)-release'

# Environment:
1.  DISPLAY:

        DISPLAY=':0'

        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)+compose(ralt)+terminate(ctrl_alt_bksp)"  };
                xkb_geometry  { include "pc(pc105)" };
            };

    2.  `xprop`:

            _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", "terminate:ctrl_alt_bksp,compose:ralt"

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/leah

    2.  `${XDG_CONFIG_HOME}`:

        Environment variable `XDG_CONFIG_HOME` is set to `/home/leah/.config`.

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

    3.  Fcitx5 Settings Directory:

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

5.  Current user:

    The script is run as leah (1000).

# Fcitx State:
1.  executable:

    Found fcitx5 at `/run/current-system/sw/bin/fcitx5`.

2.  version:

    Fcitx version: `5.1.8`

3.  process:

    Found 2 fcitx5 processes:

          23056 .fcitx5-wrapped
          99629 fcitx5-diagnose

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.99`.

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

    Debug information from dbus:

           Group [wayland:] has 5 InputContext(s)
          IC [5e2891fc06284ccf955226ee2408d941] program:org.kde.konsole frontend:wayland cap:72 focus:1
          IC [b54c736e03e44c5c81e60e8abe50bf6a] program:vesktop frontend:wayland cap:72 focus:0
          IC [b1b618f66a674c54b3c52e434fe7fcd8] program:firefox frontend:wayland cap:72 focus:0
          IC [6ac582597aae45cfbbcb1d6f7d116d5b] program:neovide frontend:wayland cap:72 focus:0
          IC [8aeba0c0e9ba430fa4719b618a0bc669] program: frontend:wayland cap:72 focus:0
        Group [x11::0] has 0 InputContext(s)
        Input Context without group

# Fcitx Configure UI:
1.  Config Tool Wrapper:

    Found fcitx5-configtool at `/run/current-system/sw/bin/fcitx5-configtool`.

2.  Config GUI for qt:

    Found `fcitx5-config-qt` at `/run/current-system/sw/bin/fcitx5-config-qt`.

3.  Config GUI for kde:

    **`kcmshell5` not found.**

# 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}`:

    **Please set environment variable QT_IM_MODULE to "fcitx" using the tool your distribution provides or add `export QT_IM_MODULE=fcitx` to your `~/.xprofile`. See [Input Method Related Environment Variables: QT_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables#QT_IM_MODULE).**

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

2.  qt5 - `${QT_IM_MODULE}`:

    **Please set environment variable QT_IM_MODULE to "fcitx" using the tool your distribution provides or add `export QT_IM_MODULE=fcitx` to your `~/.xprofile`. See [Input Method Related Environment Variables: QT_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables#QT_IM_MODULE).**

    **It is OK to use qt5 built-in Wayland im module if your compositor fully supports text-input protocol used by qt5.**

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

        QT_QPA_PLATFORM=wayland
        QT_IM_MODULE=
        IM_MODULE_CLASSNAME=QtWaylandClient::QWaylandInputContext

3.  qt6 - `${QT_IM_MODULE}`:

    **Please set environment variable QT_IM_MODULE to "fcitx" using the tool your distribution provides or add `export QT_IM_MODULE=fcitx` to your `~/.xprofile`. See [Input Method Related Environment Variables: QT_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables#QT_IM_MODULE).**

    **It is OK to use qt6 built-in Wayland im module if your compositor fully supports text-input protocol used by qt6.**

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

        QT_QPA_PLATFORM=wayland
        QT_IM_MODULE=
        IM_MODULE_CLASSNAME=QtWaylandClient::QWaylandInputContext

4.  Qt IM module files:

    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.**
    **Cannot find fcitx5 input method module for Qt5.**
    **Cannot find fcitx5 input method module for Qt6.**

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

    **Please set environment variable GTK_IM_MODULE to "fcitx" using the tool your distribution provides or add `export GTK_IM_MODULE=fcitx` to your `~/.xprofile`. See [Input Method Related Environment Variables: GTK_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables#GTK_IM_MODULE).**

    **It is OK to use gtk built-in Wayland im module if your compositor fully supports text-input protocol used by gtk.**

    **`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=wayland

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

        GTK_IM_MODULE=wayland

2.  `gtk-query-immodules`:

    1.  gtk 2:

        **Cannot find `gtk-query-immodules` for gtk 2**

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

    2.  gtk 3:

        **Cannot find `gtk-query-immodules` for gtk 3**

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

3.  Gtk IM module cache:

    1.  gtk 2:

        **Cannot find immodules cache for gtk 2**

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

    2.  gtk 3:

        **Cannot find immodules cache for gtk 3**

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

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: `/nix/store/xsinp0rmgrbv4zvgr1ysdsyp9q7p630g-fcitx5-5.1.8/share/fcitx5/addon`.

2.  Addon List:

    1.  Found 20 enabled addons:

            Classic User Interface 5.1.8
            Clipboard 5.1.8
            DBus 5.1.8
            DBus Frontend 5.1.8
            Emoji 5.1.8
            Fcitx4 Frontend 5.1.8
            IBus Frontend 5.1.8
            Input method selector 5.1.8
            Keyboard 5.1.8
            KDE Input Method Panel 5.1.8
            Status Notifier 5.1.8
            Notification 5.1.8
            Quick Phrase 5.1.8
            Spell 5.1.8
            Unicode 5.1.8
            DBus Virtual Keyboard 5.1.8
            Wayland 5.1.8
            Wayland Input method frontend 5.1.8
            XCB 5.1.8
            X Input Method Frontend 5.1.8

    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/leah/.config/fcitx5/profile`:

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

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

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

        [Groups/0/Items/2]
        # Name
        Name=rime
        # Layout
        Layout=

        [GroupOrder]
        0=Default

# Log:
1.  `date`:

        Thu Mar 14 02:33:24 PM CET 2024

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

    `/home/leah/.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.**
wengxt commented 6 months ago

@wengxt 你用nix的话不好说是为啥…建议用 /proc environ检查一下 XDG_DATA_HOME 之类的,或者使用 strace 看看到底读过什么文件

wengxt commented 6 months ago

@pluiedev 可能的原因是用plasma 6启动时,你的环境变量和你预期的不符

pluiedev commented 6 months ago

@pluiedev 可能的原因是用plasma 6启动时,你的环境变量和你预期的不符

蛤 具体可能是哪些环境变量呢

wengxt commented 6 months ago

@pluiedev 建议你用 /proc 贴所有的环境变量以及用 strace 看看具体读了什么文件

SharerMax commented 5 months ago

udpate: 已解决 Setting -> Input Method -> configure addons -> notification


升级到KDE Plasma 6 后,点击部署时没有通知提醒了,但是自定义配置还是生效的

Operating System: Arch Linux KDE Plasma Version: 6.0.2 KDE Frameworks Version: 6.0.0 Qt Version: 6.6.2 Kernel Version: 6.8.1-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 8 × Intel® Core™ i5-8259U CPU @ 2.30GHz Memory: 11.6 GiB of RAM Graphics Processor: Mesa Intel® Iris® Plus Graphics 655 Manufacturer: Intel(R) Client Systems Product Name: NUC8i5BEK System Version: J72742-308