linuxqq无法使用输入法

我在使用fcitx5时遇到了如下问题

  • 如果在开机后直接在qq中输入,是正常的(如图,可能有点太大了,见谅)

  • 之后在其他软件中输入(这里是kitty),则输入框的样式会改变,但仍能正常输入

  • 但这时再在qq中输入,输入框样式不变且不能正常输入

  • 在等待一段时间后,输入框又变回原来样式并且能正常输入(同图1)

其他相关信息:

  • 终端输出(键入文字时没有输出,应该没用)
~ 
❯ fcitx5 
I2024-06-09 18:48:45.275921 instance.cpp:1384] Override  Enabled Addons: {}
I2024-06-09 18:48:45.275956 instance.cpp:1385] Override Disabled Addons: {}
I2024-06-09 18:48:45.278174 addonmanager.cpp:205] Loaded addon wayland
I2024-06-09 18:48:45.279985 xcbconnection.cpp:189] Connecting to X11 display, display name::1.
I2024-06-09 18:48:45.280019 xcbconnection.cpp:194] X11 display: :1 is xwayland.
I2024-06-09 18:48:45.280072 addonmanager.cpp:205] Loaded addon xcb
I2024-06-09 18:48:45.280865 addonmanager.cpp:205] Loaded addon quickphrase
I2024-06-09 18:48:45.281161 addonmanager.cpp:205] Loaded addon clipboard
I2024-06-09 18:48:45.281288 addonmanager.cpp:205] Loaded addon imselector
I2024-06-09 18:48:45.284661 addonmanager.cpp:205] Loaded addon keyboard
I2024-06-09 18:48:45.284830 addonmanager.cpp:205] Loaded addon waylandim
I2024-06-09 18:48:45.284961 addonmanager.cpp:205] Loaded addon unicode
I2024-06-09 18:48:45.285349 addonmanager.cpp:205] Loaded addon pinyinhelper
I2024-06-09 18:48:45.285797 addonmanager.cpp:205] Loaded addon dbus
I2024-06-09 18:48:45.290823 addonmanager.cpp:205] Loaded addon fcitx4frontend
I2024-06-09 18:48:45.291142 addonmanager.cpp:205] Loaded addon ibusfrontend
I2024-06-09 18:48:45.291473 addonmanager.cpp:205] Loaded addon xim
I2024-06-09 18:48:45.291705 addonmanager.cpp:205] Loaded addon dbusfrontend
I2024-06-09 18:48:45.309070 inputmethodmanager.cpp:209] Found 734 input method(s) in addon keyboard
I2024-06-09 18:48:45.321386 addonmanager.cpp:205] Loaded addon kimpanel
I2024-06-09 18:48:45.321569 addonmanager.cpp:205] Loaded addon virtualkeyboard
I2024-06-09 18:48:45.333546 classicui.cpp:64] Created classicui for x11 display::1
I2024-06-09 18:48:45.333572 classicui.cpp:85] Created classicui for wayland display:
I2024-06-09 18:48:45.333589 addonmanager.cpp:205] Loaded addon classicui
I2024-06-09 18:48:45.333777 addonmanager.cpp:205] Loaded addon notificationitem
I2024-06-09 18:48:45.334004 addonmanager.cpp:205] Loaded addon notifications
I2024-06-09 18:48:45.337228 dbusmodule.cpp:790] Service name change: org.fcitx.Fcitx5  :1.1273
I2024-06-09 18:48:45.337413 kimpanel.cpp:116] Kimpanel new owner: 
I2024-06-09 18:48:45.337444 virtualkeyboard.cpp:216] VirtualKeyboard new owner: 
I2024-06-09 18:48:45.337481 portalsettingmonitor.cpp:91] A new portal show up, start a new query.
I2024-06-09 18:48:45.337534 portalsettingmonitor.cpp:91] A new portal show up, start a new query.
E2024-06-09 18:48:45.337661 portalsettingmonitor.cpp:115] DBus call error: org.freedesktop.DBus.Error.UnknownMethod 在路径 org.freedesktop.portal.Settings 的对象上没有“/org/freedesktop/portal/desktop”接口
E2024-06-09 18:48:45.337718 portalsettingmonitor.cpp:115] DBus call error: org.freedesktop.DBus.Error.UnknownMethod 在路径 org.freedesktop.portal.Settings 的对象上没有“/org/freedesktop/portal/desktop”接口
E2024-06-09 18:48:45.337860 portalsettingmonitor.cpp:115] DBus call error: org.freedesktop.DBus.Error.UnknownMethod 在路径 org.freedesktop.portal.Settings 的对象上没有“/org/freedesktop/portal/desktop”接口
I2024-06-09 18:48:45.347129 addonmanager.cpp:205] Loaded addon punctuation
I2024-06-09 18:48:45.460093 addonmanager.cpp:205] Loaded addon pinyin
I2024-06-09 18:48:45.460262 addonmanager.cpp:205] Loaded addon fullwidth
I2024-06-09 18:48:45.460751 addonmanager.cpp:205] Loaded addon chttrans

(process:14164): libenchant-WARNING **: 18:48:45.461: broker.vala:159: Error loading plugin: libaspell.so.15: 无法打开共享目标文件: 没有那个文件或目录

(process:14164): libenchant-WARNING **: 18:48:45.461: broker.vala:159: Error loading plugin: libhspell.so.0: 无法打开共享目标文件: 没有那个文件或目录

(process:14164): libenchant-WARNING **: 18:48:45.461: broker.vala:159: Error loading plugin: libhunspell-1.7.so.0: 无法打开共享目标文件: 没有那个文件或目录

(process:14164): libenchant-WARNING **: 18:48:45.461: broker.vala:159: Error loading plugin: libnuspell.so.5: 无法打开共享目标文件: 没有那个文件或目录

(process:14164): libenchant-WARNING **: 18:48:45.461: broker.vala:159: Error loading plugin: libvoikko.so.1: 无法打开共享目标文件: 没有那个文件或目录
I2024-06-09 18:48:45.461516 addonmanager.cpp:205] Loaded addon spell
I2024-06-09 18:48:45.464348 addonmanager.cpp:205] Loaded addon cloudpinyin
  • /etc/inviroment内容:
# This file is parsed by pam_env module
#
# Syntax: simple "KEY=VAL" pairs on separate lines
#
#GTK_IM_MODULE=fcitx        //这行是fcitx5让我注释掉的
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
  • linuxqq版本(各个版本其实都是这个情况)
❯ pacman -Q linuxqq
linuxqq-nt-bwrap 3.2.9_24568-1
  • fastfetch
❯ fastfetch                                 コンピューター
                                        ┌──────────────────────────────────────────┐
                                           OS : Arch Linux x86_64
                                           Kernel : Linux 6.9.3-zen1-1-zen
                                           Packages : 838 (pacman)
                                           Display : 2560x1440 @ 60Hz
                                           WM : Hyprland (Wayland)
                                           Terminal : kitty 0.35.1
                                        └──────────────────────────────────────────┘

                                           : miku@archlinux
                                        ┌──────────────────────────────────────────┐
                                           CPU : AMD Ryzen 5 5600
                                           GPU : AMD Radeon RX 6750 XT
                                           GPU Driver : amdgpu
                                          ﬙ Memory : 2.82 GiB / 15.51 GiB (18%)
                                        └──────────────────────────────────────────┘

                                          ● ● ● ● ● ● ● ●

(乱码是因为字体问题,顺便求一套好用的等宽字体)

有问题时运行 fcitx5-diagnose。
另外请在同一位置测试,因为同一程序的不同控件可能有的有问题、有的没问题、有的问题不一样。

哦不用了。我看到你在用 Hyprland 了。是已知问题。切换几次窗口就好,和输入法窗口样式没关系。

虽然但是,为啥切几次窗口就行了

因为这个 bug 就是这样子的呀……

是同一个位置,但是不知道为啥候选框跑到上面了

额…有啥解决办法吗

呃,换个 Wayland compositor?

不知道最新的 hyprland 修复了没有。

请问切换几次窗口是什么意思呢?我这边也遇到了同样的问题,似乎任何切窗口方式都没法解决,感谢解答:folded_hands:

切换窗口,也许切换工作区?我自己也不用 hyprland,是听别人说的。

我也是使用Hyprland,最近解决了linuxqq无法输入中文输入法的问题,希望能帮到你。我直接安装的是linuxqq。

  • 尝试打开qq,
linuxqq --ozone-platform-hint=auto --enable-wayland-ime
  • 打开成功且输入法使用成功的话,那么可以继续
sudo vim /usr/bin/linuxqq 
  • 打开运行脚本,在中间随便哪添加
 export GTK_IM_MODULE=fcitx
 export QT_IM_MODULE=fcitx
 export XMODIFIERS=@im=fcitx

在最后一行

exec /opt/QQ/qq ${QQ_USER_FLAGS[@]} "$@"

改为

exec /opt/QQ/qq ${QQ_USER_FLAGS[@]} --ozone-platform-hint=auto --enable-wayland-ime "$@"

重启qq,尝试输入法是否正常。
下面是我的供参考

#!/bin/bash

if [ -d ~/.config/QQ/versions ]; then
	find ~/.config/QQ/versions -name sharp-lib -type d -exec rm -r {} \; 2>/dev/null
fi

rm -rf ~/.config/QQ/crash_files/*

XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-~/.config}
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

if [[ -f "${XDG_CONFIG_HOME}/qq-flags.conf" ]]; then
	mapfile -t QQ_USER_FLAGS <<<"$(grep -v '^#' "${XDG_CONFIG_HOME}/qq-flags.conf")"
	echo "User flags:" ${QQ_USER_FLAGS[@]}
fi

exec /opt/QQ/qq ${QQ_USER_FLAGS[@]}--ozone-platform-hint=auto --enable-wayland-ime "$@"
2 Likes

这样做当qq再次更新的时候还是会需要执行一遍这样的操作,可以通过.desktop文件持久化覆盖掉原本的,加上的两个参数也可以在用户目录下添加这样的配置

你确实是英雄,因为fcitx5不建议设置GTK_IM_MODULE=fcitx,而且我这边设了还报错,最后就发现将/usr/share/applications下的.desktop文件复制到.local/share/applications以后(启动的时候同名会优先启动用户层.desktop,这样可以保留源文件,应该理论上也不影响更新),然后在.local/share/applications里的.desktop文件里的Exec行加上--ozone-platform-hint=auto --enable-wayland-ime这两行参数就能完美运行。目前测试下来不止linuxqq,包括类似bilibili我这边也有启动异常的都这么解决了,感觉目前在hyprland环境下还算是一个比较优雅的解决方案了

2 Likes

发现gnome在熄屏后再登录有极小概率会触发

两位英雄!!!完全解决了。真是优雅;)

我按照你的方式设置以后,通过rofi启动后确实可以调用输入法了,不过通过终端命令行启动的话似乎就又不行了

.desktop 文件包含启动命令,就是 Exec= 后的那条

hyprland可以把环境变量写配置文件里
electron也有electron-flags.conf
https://wiki.archlinux.org/title/Wayland#Configuration_file
软件多了总不能挨个改desktop吧(

平铺可以试试cosmic, 开箱即用,不过美化还是毛坯,window stack模式很爽,而且输入法问题不大。