1. 运行环境
- 操作系统:openSUSE Leap 16
- 桌面环境:KDE Plasma(Wayland 会话)
- 主要应用程序类型:运行于 XWayland 兼容层下的 GTK3 / GTK4 应用程序
2. 核心配置方案
本方案通过留空全局环境变量,并在 GTK 框架配置文件中指定输入法模块,使 X11 模式的 GTK 应用能够正常调用中文输入法。
2.1 全局环境变量设置(留空)
- 配置内容:不设置
GTK_IM_MODULE和QT_IM_MODULE环境变量。 - 配置目的:GTK3/GTK4 与 Qt5/Qt6 框架已内置对 Wayland 输入法协议的支持。若在全局环境中强制定义这两个变量,会要求所有图形程序通过旧的兼容模块加载输入法,可能导致部分原生 Wayland 应用出现候选词窗口定位错误或界面渲染异常。留空这两个变量可使应用程序根据自身运行环境自动选择标准协议接入输入法。
- 操作方法:检查
~/.bashrc、~/.zshrc、~/.profile及/etc/environment文件,删除或注释其中关于GTK_IM_MODULE和QT_IM_MODULE的定义。
2.2 GTK3/GTK4 应用程序配置(必需)
- 配置文件路径:
~/.config/gtk-3.0/settings.ini~/.config/gtk-4.0/settings.ini - 配置内容:在
[Settings]区块下添加gtk-im-module=fcitx - 配置目的:当全局
GTK_IM_MODULE环境变量为空时,GTK 框架在启动应用程序时会读取此配置文件。该配置指示 GTK3/GTK4 程序在需要输入支持时,直接加载 Fcitx 5 提供的输入模块库文件。此方式仅对 GTK 框架生效,不会改变其他类型程序的运行行为。 - 操作方法:使用文本编辑器打开文件,确保包含以下内容:
[Settings] gtk-im-module=fcitx
3. 可选配置
3.1 GTK2 应用程序兼容(可选)
- 配置文件路径:
~/.gtkrc-2.0 - 配置内容:
gtk-im-module = "fcitx" - 配置目的:GTK2 框架不读取
settings.ini文件。此配置仅用于极少数仍基于 GTK2 开发的旧版应用程序。当前主流软件已基本完成向 GTK3/4 的迁移,如无特殊需求可跳过。 - 操作方法:仅在确认有 GTK2 应用无法输入时执行:
echo 'gtk-im-module = "fcitx"' > ~/.gtkrc-2.0
3.2 XMODIFIERS(可选)
- 配置内容:
XMODIFIERS=@im=fcitx - 配置目的:该环境变量用于指定 X11 系统的传统输入法通信协议(XIM)。对于不依赖 GTK 或 Qt 框架的纯 X11 应用程序(例如
xterm、gvim、部分基于 Wine 运行的 Windows 程序),必须设置此变量才能调用输入法。 - 操作建议:由于当前主要使用 GTK3/4 应用,且 GTK 框架已通过配置文件直接加载输入模块,因此无需全局设置此变量。仅在使用上述纯 X11 旧版软件且无法输入中文时,才需要配置。
- 按需启用方法:若需全局生效,创建文件
~/.config/environment.d/fcitx5.conf,写入XMODIFIERS=@im=fcitx,随后注销并重新登录系统。
参考资料:fcitx-im.org/index.php?t…
本文为我原创,未经授权禁止转载 | bilibili UID1319899187 | 掘金 ID1048290992076985