我有 ibus 在每个应用程序(firefox、文本编辑器)中都能正常工作,但不是 chromium 或 chrome
弄清楚之后,如果其他人遇到同样的问题,我会在这里发布
我的是 ubuntu 18.04,zsh shell。
答案1
将其添加到 zshrc 或 bashrc...
#ibus
export GTK_IM_MODULE=xim #Fix for Chrome
export QT_IM_MODULE=xim #Not sure if this works or not, but whatever
export XMODIFIERS=@im=ibus
在那之后source ~/.zshrc
从命令行启动 chrome 并享受
答案2
导出 GTK_IM_MODULE=xim #修复 Chrome
这不适用于 GNOME 45 Wayland(在 Manjaro Linux 上测试,并且 Ubuntu 现在也默认附带 Wayland IIRC)截至 2023 年和 Chromium 119。
有效的是在 GTK4 模式下启动 Chromium/Chrome:
chromium --gtk-version=4
u/tinywrkb
来自评论的解决方案:https://www.reddit.com/r/archlinux/comments/sc0oxo/ibus_japanese_input_not_working_in_google_chrome/
最好将标志永久添加到 chrome 启动配置中,但我忘了它在哪里(有人帮忙吗?)并且中没有 GTK 版本的标志chrome://flags/
。
更糟糕的解决方案(但我知道)是修改文件chromium.desktop
,例如使用sed
或,因为awk
可能有许多启动选项(隐身模式等)。例如使用sed
,以 ROOT 权限运行(sudo
,等):su
doas
sed -i.bak 's/Exec\=\/usr\/bin\/chromium/Exec\=\/usr\/bin\/chromium --gtk-version=4/g' /usr/share/applications/chromium.desktop
注 1:-i.bak
选项创建备份文件。使用(以 ROOT 权限运行)chromium.desktop.bak
删除它。 注 2:命令字符串按照 POSIX 标准转义rm -v /usr/share/applications/chromium.desktop.bak
https://stackoverflow.com/a/2076026
注意 3:.desktop
下次您的系统上更新 Chromium 时,该文件可能会被覆盖,您将不得不重新运行此命令(这就是为什么它比前面提到的更糟糕的原因)。
PS 此--gtk-version=4
选项还修复了 VSCodium 的相同输入问题,并且可能适用于其他基于 Electron 的应用程序。PPS
一旦 GTK5 发布或 Chromium 采用 GTK4 作为标准版本,此答案可能会过时。PPPS
仅在 Manjaro Linux 上测试过,它应该可以在 Ubuntu 上运行(尽可能符合 XDG 标准),但请在评论中核实并确认。
答案3
就我而言,安装 ibus-gtk3 包解决了这个问题。