fcitx / fcitx5

maybe a new fcitx.
1.59k stars 118 forks source link

字符“跳入”输入框 #575

Closed XXiaoA closed 2 years ago

XXiaoA commented 2 years ago

chrome中,使用拼音输入有概率字符自动进入输入框。具体如下

https://user-images.githubusercontent.com/62557596/185081454-b9e4fe88-03b1-42fc-9a2d-aa812a34a604.mp4

fcitx5-diagnose # 系统信息: 1. `uname -a`: Linux xx-MS-7A74 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 2. `lsb_release -a`: No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.1 LTS Release: 22.04 Codename: jammy 3. `lsb_release -d`: Description: Ubuntu 22.04.1 LTS 4. `/etc/lsb-release`: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=22.04 DISTRIB_CODENAME=jammy DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS" 5. `/etc/os-release`: PRETTY_NAME="Ubuntu 22.04.1 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.1 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=jammy 6. 桌面环境: 桌面环境为 `kde`。 7. XDG 会话类型: XDG_SESSION_TYPE='x11' 8. Bash 版本: BASH_VERSION='5.1.16(1)-release' # 环境: 1. DISPLAY: DISPLAY=':0' WAYLAND_DISPLAY='' 2. 键盘布局: 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)+capslock(ctrl_modifier)" }; xkb_geometry { include "pc(pc104)" }; }; 2. `xprop`: _XKB_RULES_NAMES(STRING) = "evdev", "pc104", "cn", "", "caps:ctrl_modifier" 3. Locale: 1. 全部可用 locale: C C.utf8 en_AG en_AG.utf8 en_AU.utf8 en_BW.utf8 en_CA.utf8 en_DK.utf8 en_GB.utf8 en_HK.utf8 en_IE.utf8 en_IL en_IL.utf8 en_IN en_IN.utf8 en_NG en_NG.utf8 en_NZ.utf8 en_PH.utf8 en_SG.utf8 en_US.utf8 en_ZA.utf8 en_ZM en_ZM.utf8 en_ZW.utf8 POSIX zh_CN.utf8 2. 当前 locale: LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL= 4. 目录: 1. 主目录: /home/xx 2. `${XDG_CONFIG_HOME}`: 环境变量 `XDG_CONFIG_HOME` 是设定为 `/home/xx/.config` 。 `XDG_CONFIG_HOME` 的当前值是 `~/.config` (`/home/xx/.config`)。 3. Fcitx5 设置目录: 当前 fcitx5 设置目录是 `~/.config/fcitx5` (`/home/xx/.config/fcitx5`)。 5. 当前用户: 脚本作为 xx (1000) 运行。 # Fcitx 状态: 1. 可执行文件: 在 `/usr/bin/fcitx5` 找到了 fcitx5。 2. 版本: Fcitx 版本: `5.0.14` 3. 进程: 找到了 1 个 fcitx5 进程: 1247 fcitx5 4. `fcitx5-remote`: `fcitx5-remote` 工作正常。 5. DBus 界面: 使用 `dbus-send` 来检查 dbus。 DBus 名称 `org.fcitx.Fcitx5` 的所有者是 `:1.147`。 DBus 名称 `org.fcitx.Fcitx5` 的 PID 所有者是 `1247`。 来自 dbus 的调试信息: Group [x11::0] has 23 InputContext(s) IC [bd285f8d952c4f5bbc12f42394110b69] program:spectacle frontend:dbus cap:6000800072 focus:0 IC [91f24ecf28f94d3e833fdcd337b52623] program:spectacle frontend:dbus cap:6000800072 focus:0 IC [cc84918e7d9a40bcb5a22310331b10aa] program:chrome frontend:xim cap:4000000000 focus:0 IC [42070c05bc3941f8b66ba3530be33dc5] program:Telegram frontend:fcitx4 cap:800072 focus:0 IC [f3ccbd8e8d6a44999d5700d2101e152e] program:spectacle frontend:dbus cap:6000800072 focus:0 IC [25adf6f0ef8d4976a0a38be6f8d44fc5] program:plasmashell frontend:dbus cap:0 focus:0 IC [82b49786f6794d738eaee9f95cd5139b] program:plasmashell frontend:dbus cap:0 focus:0 IC [093b5ab0e11441a19830962546a94bb4] program:plasmashell frontend:dbus cap:0 focus:0 IC [31907fdc3b8e441387fb6b2153b771f3] program:plasmashell frontend:dbus cap:6000820072 focus:0 IC [e785bdc6566b468aa939949fe21b3911] program:krunner frontend:dbus cap:0 focus:0 IC [3019b15a921c44a788c781e1d76f3cc4] program:plasmashell frontend:dbus cap:0 focus:0 IC [001577511c254ff6be3324bc3e67d3d8] program:plasmashell frontend:dbus cap:0 focus:0 IC [eecefef6c1b045eb92701bbf90182ea8] program:plasmashell frontend:dbus cap:6000800072 focus:0 IC [28d99084e27f4c7fb508741cbc4b49e2] program:plasmashell frontend:dbus cap:6000800072 focus:0 IC [3d8b133344ae409f9f90e6ecff9f9648] program:plasmashell frontend:dbus cap:0 focus:0 IC [fc2174f19d7b44848194c33a154245d5] program:spectacle frontend:dbus cap:6000800072 focus:0 IC [91f11831ec794180acd8516dba33a0d4] program:plasmashell frontend:dbus cap:0 focus:0 IC [be3b6ded464241b98c83cdeb421238e2] program:krunner frontend:dbus cap:0 focus:0 IC [e80b46a77ed6406487821db434e45f13] program:plasmashell frontend:dbus cap:0 focus:0 IC [e708e1cc3ee0449eb28b66812e2a09e5] program:plasmashell frontend:dbus cap:6000800072 focus:0 IC [9c642ec779ad40a78987289e20d31558] program:wezterm-gui frontend:xim cap:4000000012 focus:1 IC [4b22bab2b42c4ad1a1bdbd7a183d791b] program:krunner frontend:dbus cap:6000820072 focus:0 IC [2ebc9e794897438ca28a324e9068f47c] program:plasmashell frontend:dbus cap:6000800072 focus:0 Input Context without group # Fcitx 配置界面: 1. 配置工具封装: 在 `/usr/bin/fcitx5-configtool` 找到了 fcitx5-configtool。 2. Qt 的配置界面: 在 `/usr/bin/fcitx5-config-qt` 找到了 `fcitx5-config-qt`。 3. 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 模块:`/lib/x86_64-linux-gnu/fcitx5/qt5/libfcitx-quickphrase-editor5.so`。 找到了 fcitx5 的 qt5 输入法模块:`/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`。 找到了未知的 fcitx qt 模块:`/lib/x86_64-linux-gnu/qt5/plugins/kcms/kcm_fcitx5.so`。 **无法找到 Qt4 的 fcitx5 输入法模块。** ## Gtk: 1. gtk - `${GTK_IM_MODULE}`: 环境变量 GTK_IM_MODULE 已经正确地设为了“fcitx”。 2. `gtk-query-immodules`: 1. gtk 2: **无法找到 gtk 2 的 `gtk-query-immodules`。** **无法找到 gtk 2 的 fcitx5 输入法模块。** 2. gtk 3: **无法找到 gtk 3 的 `gtk-query-immodules`。** **无法找到 gtk 3 的 fcitx5 输入法模块。** 3. Gtk 输入法模块缓存: 1. gtk 2: **无法找到 gtk 2 的输入法模块缓存** **无法在缓存中找到 gtk 2 的 fcitx5 输入法模块。** 2. gtk 3: 在 `/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache` 找到了 gtk `3.24.33` 的输入法模块缓存。 版本行: # Created by /usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 from gtk+-3.24.33 **无法输入法模块缓存 `/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache` 中找到 fcitx5** **无法在缓存中找到 gtk 3 的 fcitx5 输入法模块。** 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`。 2. 插件列表: 1. 找到了 26 个已启用的插件: Simplified and Traditional Chinese Translation 5.0.11 Classic User Inteface 5.0.14 Clipboard 5.0.14 Cloud Pinyin 5.0.11 DBus 5.0.14 DBus Frontend 5.0.14 Emoji 5.0.14 Fcitx4 Frontend 5.0.14 Full width character 5.0.11 IBus Frontend 5.0.14 Input method selector 5.0.14 Keyboard 5.0.14 KDE Input Method Panel 5.0.14 Status Notifier 5.0.14 Notification 5.0.14 Pinyin 5.0.11 Extra Pinyin functionality 5.0.11 Punctuation 5.0.11 Quick Phrase 5.0.14 Spell 5.0.14 Table 5.0.11 Unicode 5.0.14 Wayland 5.0.14 Wayland Input method frontend 5.0.14 XCB 5.0.14 X Input Method Frontend 5.0.14 2. 找到了 0 个被禁用的插件: 3. 插件库: 所有插件所需的库都被找到。 4. 用户界面: 找到了 2 个已启用的用户界面插件: Classic User Inteface KDE Input Method Panel ## 输入法: 1. `/home/xx/.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年 08月 17日 星期三 17:13:54 CST 2. `/home/xx/.config/fcitx5/crash.log`: `/home/xx/.config/fcitx5/crash.log` 未找到.

EDIT:通过以下代码解决了 gtk-query-immodules 的问题,目前情况好像解决了

sudo ln -s /usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 /usr/bin/gtk-query-immodules-3.0
sudo ln -s /usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0 /usr/bin/gtk-query-immodules-2.0
lilydjwg commented 2 years ago

野生的、使用 fcitx4 的 Telegram 用户出现了~

rocka commented 2 years ago

fcitx5-diagnose 输出发一下。这种问题多半是没装 fcitx5-gtk 或者没设置 GTK_IM_MODULE 环境变量

XXiaoA commented 2 years ago

fcitx5-diagnose 输出发一下。这种问题多半是没装 fcitx5-gtk 或者没设置 GTK_IM_MODULE 环境变量

谢谢,fcitx5-diagnose 的输出已经贴了