主力机 wm 我之前一直使用的是 i3 最近切换到了 Wayland 桌面环境,使用的是 Manjaro Sway 的发行版,在 Wayland 的生态中 Sway 是之前 X11 上 i3 窗口管理器的直接替代选择
发展了好几年,现在 Wayland 下开发环境逐渐成熟,在输入法这方面 Fcitx5 也已支持,下面是 Sway 安装 Fcitx5 的一些经验,应该所有 Wayland 环境都可参考
安装社区版 sway-im
sway 已经合并了实现 text-input-v3 协议的分支,但是仍然没有完全实现 input-method-v2 协议,因此仍然无法显示弹出窗口。有个支持 v2 的 AUR 包 sway-im 修复了这个问题,使用 sway-im 替换自带的 sway
yay -S sway-im
相关包安装
安装 Fcitx5 相关的包,我使用的是双拼所以还安装了双拼相关的插件
pacman -S fcitx5 fcitx5-chinese-addons fcitx5-qt fcitx5-gtk fcitx5-config-qt qt5-wayland
配置 Fcitx5
参考文档编辑 /etc/environment
并添加以下几行
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
SDL_IM_MODULE
是为了让一些使用特定版本 SDL2 库的游戏能正常使用输入法。GLFW_IM_MODULE
是为了让 kitty 启用输入法支持。此环境变量的值只能为 ibus。
按 Fcitx5 上游推荐,环境变量的值一般设置为 fcitx
。部分并非由 Arch 从源码编译打包的应用程序因兼容性的需求而需要将之临时设置为 fcitx5
重启电脑查看状态栏输入法选择配置 Shunagpin
根据需要配置方案即可,如果没有启动可以手动启动先测试 /usr/bin/fcitx5 -D
记得加入到开机启动比如在 sway config 中添加
也可以使用输入
fcitx5-configtool
打开配置界面
如果使用 en_US.UTF-8 时,遇到 GTK2 无法激活 fcitx5,可专门为该 GTK2 应用程序设置输入法为 xim,如下启动应用
env GTK_IM_MODULE=xim *<your_gtk2_application>*
请勿将 GTK_IM_MODULE
全局设置为 xim
,因为它也会影响 GTK3 程序。XIM
有各种问题(比如输入法重启之后再无法输入),尽可能不要使用。
特殊应用
按照上面的配置大部分应用能使用 Fcitx5 引擎了,但有些应用需要特殊配置
Chrome/Chromium
chrome内核的浏览器现在 Wayland 上还不支持 GTK IM 1 ,启动的时候可以加上 --gtk-version=4
,修改 ~/.config/chrome-flags.conf
如下
--gtk-version=4
--ozone-platform=wayland
--ozone-platform-hint=wayland
....
上面的启动参数可能会使候选框漂移但是可以呼出输入法的,勉强能用。
Kitty
增加环境变量 GLFW_IM_MODULE=ibus
上面有提到 2
配置皮肤
这里推荐两个主题
我使用的是第一个主题可以直接用 pacman
安装,具体可参考文档
pacman -S fcitx5-material-color
安装完后在图形界面配置 Configure - Addons - Classic User Interface
中 theme 和 dark-theme 中选择 Material-Color-Indigo
即可,顺便还可配置喜欢的字体
使用 RIME 输入法
如果你想使用 RIME 输入法,直接再安装
pacman -S fcitx5-rime rime-double-pinyin rime-emoji
重启,配置中选择 Rime
输入法即可, 用户配置目录为 ~/.local/share/fcitx5/rime