在Wayland上使用Fcitx5

在Wayland上使用Fcitx5#

Wayland是下一代显示服务器协议。虽然该协议的初始版本是在2008 年,但对输入法的支持并不是很理想。

此外,在基于Wayland的合成器上使用输入法可能需要不同的设置才能使其工作,并且 Wayland 尚不支持在 X11 下工作的 fcitx 的某些功能。

本页将尝试涵盖所有当前信息以及一些基本细节,并且设置Fcitx5页提及的配置仍然有用。

应用程序#

TL;DR 我们还需要 XMODIFIERS, GTK_IM_MODULE 和 QT_IM_MODULE?#

XMODIFIERS#

对于 XMODIFIERS来说我们仍需要。 在 X11 和 XWayland 下运行的 X11 应用程序几乎没有区别。

GTK_IM_MODULE#

在理想的设置中,您应该使用在 X11 下运行的 fcitx im 模块 Gtk 应用程序,以及用于 wayland 的 Gtk 的 text-input-v3。执行此操作的方法是:

  1. 不要设置GTK_IM_MODULE环境变量。

  2. 对于 Gtk2,在 ~/.gtkrc-2.0 中添加以下内容

gtk-im-module="fcitx"
  1. 对于 Gtk 3,请在 ~/.config/gtk-3.0/settings.ini中添加以下内容
[Settings]
gtk-im-module=fcitx
  1. 对于 Gtk 4,请在~/.config/gtk-4.0/settings.ini中添加以下内容
[Settings]
gtk-im-module=fcitx
  1. 如果您使用的是 GNOME 3+,请同时运行以下命令。
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"

GTK_IM_MODULE,就目前而言,现代 Gtk 3/4 应用程序应该能够使用 text-input-v3,几乎所有合成器都支持它,除了 weston。在设置 GTK_IM_MODULE 的值方面,有几种不同的选项。当它被取消设置时,Gtk 内置的 Wayland im 模块将用于 Gtk3 和 Gtk4。虽然你也可以通过执行 GTK_IM_MODULE=wayland 来强制执行它,但请记住它也会被 Gtk2 接收。设置 GTK_IM_MODULE=fcitx 仍然可以工作,如果你的合成器不支持 Wayland 输入法前端,这是必要的。