常用的有fcitx5和ibus,fcitx5更现代,功能更多,建议使用。
GNOME和KDE桌面的配置方法会略有不同,注意区分。
fcitx5
安装需要的包
sudo pacman -S fcitx5-im fcitx5-rime rime-ice-pinyin-git
fcitx5-im 包含了fcitx5的基本包
fcitx5-rime是输入法引擎
rime-ice-pinyin-git 雾凇拼音输入法,实测比万象拼音好用。这个包在archlinuxcn里,如果你没添加cn源的话可以用yay从aur安装。
可选:fcitx5-mozc日语输入法
编辑配置文件启用rime雾凇拼音
mkdir -p ~/.local/share/fcitx5/rime
vim ~/.local/share/fcitx5/rime/default.custom.yaml
第一行命令mkdir -p检查文件夹是否存在,不存在的话创建。第二行编辑配置文件,写入以下内容设置rime的默认方案为雾凇拼音:
patch:
# 这里的 rime_ice_suggestion 为雾凇方案的默认预设
__include: rime_ice_suggestion:/
编辑环境变量
sudo vim /etc/environment
GNOME和KDE会略有不同
- GNOME的话写入
XIM="fcitx" GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx XDG_CURRENT_DESKTOP=GNOME
GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx这三个是最主要的环境变量
XDG_CURRENT_DESKTOP=GNOME这一项可以解决吞字问题,建议设置
XIM="fcitx"是因为我在微信的某个版本出现输入法无法使用的情况,设置这个解决了
KDE的话写入
XMODIFIERS=@im=fcitx
系统设置
- GNOME的话
- 打开fcitx5配置添加rime
- 安装扩展 商店搜索extension,安装蓝色的extensionmanager。安装input method panel扩展
- KDE的话
- 打开系统设置 > 键盘 > 虚拟键盘, 选择fcitx5,记得应用
- 系统设置 > 语言和时间 > 输入法,添加rime。 “配置全局选项”可以设置切换输入法的快捷键。“配置附加选项”可以进行一些自定义设置。
可选:美化
浏览器搜索fcitx5 themes,下载自己喜欢的主题放到~/.local/share/fcitx5/themes目录下。在fcitx5配置里的”经典用户界面“里进行设置。
干净删除fcitx5
- 删除包
sudo pacman -Rns fcitx5-im fcitx5-mozc fcitx5-rime rime-ice-pinyin-git
删除配置文件
sudo rm -rfv ~/.config/fcitx5 ~/.local/fcitx5
清理环境变量
sudo vim /etc/environment
KDE用户接着看输入法异常的解决办法
ibus
kde用fcitx5就可以。gnome和ibus兼容性更好,如果有需要可以更换。
因为是次要内容所以放在附录了,点击此处跳转。
输入法异常的解决办法
KDE、hyprland、niri、sway这样基于wayland运行的图形化环境设置GTK和QT的IM_MODULE全局变量会导致输入法闪烁和位置错误等问题,但是不设置的话百分之一百会在xwayland应用和electron应用出现输入法异常。所以需要为出现异常的应用单独进行输入法设置。
已知问题:
- 漏字
- 删不掉输入框的最后一个字母
- 卡顿
- 删除输入框字母的时候会错误删除右侧已经写好的文字
2025.10.19日记
录制新视频的时候神奇地发现如果locale设置为en_US.UTF-8就不会出现异常了。所以又有了新的办法,而且是最好的办法。为什么说是最好的办法?因为就算设置了IM_MODULE或者--ozone-platform,影响最大的漏字问题确实没了,但是会出现其他问题。如果设置locale为英文,那就一点问题都没有,100%复现。
- 设置locale为英文 这会让所有软件都变成英文。系统级的文件在
/etc/locale.conf,用户级的在~/.config/locale.conf。里面写入LANG=en_US.UTF-8 - 给输入法异常的软件单独设置环境变量 对于那些出现漏字情况的输入法,单独用环境变量设置英文本地化。系统依旧可以设置成中文。 示例:
- 从终端启动
LANG=en_US.UTF-8 linuxqq
- 从终端启动
从.dekstop启动
编辑exec
env LANG=en_US.UTF-8 /usr/bin/linuxqq %U
这个办法的缺点是界面会变成英文,如果你介意的话继续往下看,但就像开头说的那样,下文的其他办法还是会出现漏字之外的异常。另外,如果你完全无法使用输入法的话,也继续往下看。
从快捷方式打开的话(.desktop)
对于QT和GTK应用
打开菜单编辑器,给对应程序设置IM_MODULE环境变量
GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx
对于chromium和electron应用
在linuxqq 【此处】%U添加命令行参数
--ozone-platform=wayland
不行的话设置:
--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime
从终端命令打开的话
上面的设置只对快捷方式打开生效,从终端用命令打开的话不一定生效。解决办法是编辑shell的配置文件单独设置alias。
- zsh/bash 编辑
home目录下的.zshrc或.bashrc文件,根据使用的shell而定。- QT或GTK应用(以typora为例)
alias typora='GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx typora'
- QT或GTK应用(以typora为例)
chromium和electron应用(以vscode为例)
alias code='code --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime'
fish
fish的话有两种方法,一种是abbr,另一种是function。
- abbr

Comments NOTHING