linuxqq无法使用输入法

我就是用的cosmic,flatpak下载的qq、微信、spotify,因为好像就qq跑在wayland下的,另外俩都是xwayland的,就qq没法使用输入法。
另外,在niri下面也是,只有hyrpand下qq的输入法正常。

放开X11程序的权限支持就可以了。

cosmic下的输入法问题可以参考我的这个帖子
[topic]14672[/topic]

这个配置文件貌似有限制:
“这些配置文件仅适用于官方仓库中的 Electron 软件包及使用它们的软件包。对于捆绑了自身 Electron 构建的软件包无效。”
目前我在配置文件里加上参数也是没有效果的

你简直是个英雄

谢谢,成功解决问题

可以将--ozone-platform-hint=auto --enable-wayland-ime写道~/.config/qq-flags.conf里面。一行一个。

1 Like

一样的使用hyprland桌面环境,我是这样解决的。

我在额外加上--wayland-text-input-version=3之后解决了问题

hyprland 要全局配置,可以在配置文件里加上

env = ELECTRON_OZONE_PLATFORM_HINT,auto
env = QT_IM_MODULE,fcitx
env = XMODIFIERS,@im=fcitx

因为fcitx5不建议设置GTK_IM_MODULE=fcitx,可以在.config/gtk-3.0/settings.ini中加上

gtk-im-module=fcitx

看环境变量有没有生效用sed 's:\x0:\n:g' /proc/<qq的pid>/environ,你要过滤那两个变量可以在结尾加上| grep -E 'QT_IM|XMODIFIERS'
再因为--enable-wayland-ime这个flag没有对应的环境变量,所以只能在对应qq版本的配置文件里设置,我用的linuxqq-nt-bwrap~/.config/qq-electron-flags.conf里加上--enable-wayland-ime就可以了

3 Likes

终端命令行启动本来就不会读取desktop文件,设置的环境变量当然不生效,桌面环境的启动器才会读取;你可以看我楼上那条sed命令,可以看到进程内设置的所有环境变量

朋友你的方法真是太棒了!我是最近新装的Arch和KDE(Wayland),安装了原生的linuxQQ,但我的问题是QQ连英文输入法也用不了,只能复制粘贴到发送框,现在照你的方法改动后就可以正常使用了。感谢你我的朋友!

1 Like

太棒了,这个解决办法在我这里也有用!

搞复杂了。

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

这一小段代码的意思是读取~/.config/qq-flags.conf中的内容并作为程序启动的参数

所以更推荐的做法是

cat <<EOF > ~/.config/qq-flags.conf
--enable-features=WaylandWindowDecorations
--ozone-platform-hint=auto
--enable-wayland-ime
--wayland-text-input-version=3
EOF

而不是修改/usr/bin/linuxqq,不然你每次更新都要重新改一次