目录
常用的输入法框架有 Fcitx5 和 IBus。GNOME 桌面和 IBus 的兼容会更好,配置过程也更简单,所以推荐使用 IBUS。除 GNOME 外的其他桌面和合成器都推荐使用 Fcitx5。
ibus
[展开/收起] GNOME 和 IBus 兼容性好,无需配置,开箱即用。
参考:Rime - Arch Linux 中文维基 | 可选配置(基础篇) | archlinux 简明指南 | RIME · GitHub
安装 IBus-rime
sudo pacman -S ibus ibus-rime rime-ice-gitibus是ibus输入法的基本包ibus-rime是中州韵rime-ice是雾凇拼音输入法方案在 GNOME 的设置中心 > 键盘 > 添加输入源 > 汉语,里面找到
rime并添加,如果没有的话登出一次编辑配置文件设置 rime 的输入法方案为 ice 雾凇拼音
vim ~/.config/ibus/rime/default.custom.yaml如果没有文件夹的话自己创建。
mkdir ~/.config/ibus/rime/创建文件夹,touch default.custom.yaml创建文件。写入以下内容:patch: # 这里的 rime_ice_suggestion 为雾凇方案的默认预设 __include: rime_ice_suggestion:/默认使用 super+空格切换输入法,可以在设置里修改。第一次切换至 rime 输入法需要等待部署完成。
可选:安装扩展自定义 IBus
商店搜索 extension 安装蓝色的扩展管理器,或者用命令安装
flatpak install flathub com.mattjakeman.ExtensionManager安装两个扩展:
IBus tweaker
设置里激活“隐藏页按钮”
Customize IBus
需要登出一次
设置里,常规页面取消“候选框调页按钮”。主题页面可导入 css 自定义主题,GitHub - openSUSE/IBus-Theme-Hub: This is the hub for IBus theme that can be used by Customize IBus GNOME Shell Extension.(可被自定义 IBus GNOME Shell 扩展使用的 IBus 主题集合),这个网站有一些预设主题。背景页面可以自定义背景(这个无敌了,什么美化都比不过一张合适的自定义背景)。其他的选项就自己探索吧。
Fcitx5
安装基础框架
sudo pacman -S fcitx5-im # fcitx5-im 包含了 fcitx5 的基本包安装中文输入方案
你可以自己选择要安装的输入方案,因为我使用全拼,所以本文主要是全拼方案的教程。
中文输入合集
fcitx5-chinese-addons这里面包含了所有常用的中文输入方案(拼音、五笔、双拼等等)。安装简单,但是输入效果一般,不推荐使用。
sudo pacman -S fcitx5-chinese-addonsRIME 中州韵引擎+雾凇拼音
现有两大主流方案,万象和雾凇。万象的全拼分词效果很差,所以全拼用户强烈推荐使用雾凇,双拼用户推荐使用万象。
安装 RIME(中州韵)+雾凇拼音
sudo pacman -S fcitx5-rime rime-ice-gitfcitx5-rime是输入法引擎。rime-ice-git雾凇输入方案,这个包需要从 AUR 或者 archlinuxcn 安装。其他方案:
rime-wanxiang-pinyin万象拼音(这个包在 archlinuxcn 上);rime-wanxiang-flypy万象小鹤双拼(archlinuxcn 源);fcitx5-mozc日语输入法;rime-wubi五笔输入法。现在打开
fcitx5-configtool就可以添加rime(中州韵)到输入法列表中了,添加完成后重启输入法,Ctrl+空格切换到 RIME 后会自动初始化。默认的输入方案是繁体的明月拼音,按下 F4 可以打开设置菜单调整为简体。下面我们编辑配置文件将默认输入方案改成雾凇拼音。编辑配置文件启用 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:/重启输入法之后默认输入方案就变成雾凇拼音了。
可选:F4 在多个输入方案间切换
用
ls /usr/share/rime-data/*.schema.yaml命令可以看到当前所有可用的输入方案,去掉文件名的.schema.yaml就是schema名,写进default.custom.yaml后可以在 F4 菜单里切换不同的输入方案,以下是示例(注意缩进,RIME 的配置文件对缩进很严格):patch: schema_list: - schema: luna_pinyin_simp - schema: rime_ice - schema: wanxiang - schema: double_pinyin_flypy - schema: wubi86 - schema: bopomofoluna_pinyin_simp是 RIME 自带的明月拼音;wanxiang是万象拼音;double_pinyin_flypy是小鹤双拼(由rime-ice-git提供);bopomofo是注音输入法。可选:配置输入法模型
推荐给雾凇拼音接入万象的语法模型,可以提高长句联想效果。你可以现在尝试打
苍茫的天涯是我的爱,大概率会打出苍茫的填鸭式我的爱,如果配置了语法模型就可以解决这个问题。安装模型
可以直接从 AUR 或者 archlinuxcn 安装:
yay -S rime-wanxiang-gram-zh-hans或者从 GitHub 手动下载:点击此处下载模型,下载完成后把模型放在
~/.local/share/fcitx5/rime/。编辑雾凇拼音的配置文件
vim ~/.local/share/fcitx5/rime/rime_ice.custom.yaml写入:
patch: "grammar/language": wanxiang-lts-zh-hans重新启动输入法
现在再打
苍茫的天涯是我的爱试试。
-
这是我自己的项目,功能是给 RIME 输入法接入大模型进行拼音联想。把拼音传给大模型,让大模型猜出正确的句子,一键安装,TUI 图形化界面修改配置,感兴趣的可以试试。
可选:默认使用英文标点
雾凇拼音默认输出中文标点(,。?!)。如果你日常聊天、写代码更习惯英文标点,可以让它默认就处于英文标点状态,不用每次手动切换:
vim ~/.local/share/fcitx5/rime/rime_ice.custom.yaml写入:
patch: # switches 是方案里的开关列表,@1 即第二项「中英标点」开关 # reset: 1 表示每次启动都重置到第二个状态,也就是英文标点 "switches/@1/reset": 1如果前面配置语法模型时已经创建过这个文件,把
"switches/@1/reset": 1加进已有的patch:里即可,不要出现两个patch:。重启输入法生效。之后想临时切回中文标点,按
Ctrl+Shift+3即可。
安装到这里结束,接下来是配置的部分。
调整系统设置
GNOME 的话
打开 Fcitx5 配置添加 RIME。
安装扩展
商店搜索 extension,安装蓝色的 extensionmanager,然后在扩展商店安装 input method panel 扩展。
KDE 的话
- 打开
系统设置>键盘>虚拟键盘,选择fcitx5 wayland 启动器,记得应用。 系统设置>语言和时间>输入法,添加rime(中州韵)。配置全局选项可以设置切换输入法的快捷键。配置附加选项可以进行一些自定义设置。
- 打开
Wayland 合成器的话
打开
fcitx5配置进行设置。在合成器配置文件里设置自动启动 Fcitx5。
Niri
spawn-at-startup "fcitx5"
可选:美化
浏览器搜索 fcitx5 themes,下载自己喜欢的主题放到
~/.local/share/fcitx5/themes目录下。在fcitx5配置里的经典用户界面里进行设置。可选:RIME 自定义词库
RIME 的词库是离线的,无法打出热词,这个时候就需要自定义词库。如果你觉得默认的联想不适合你的使用场景,也可以自定义词库。以下是一个简单的方法,了解方法之后你甚至可以给 AI 提供素材,根据你的使用场景创建专属于你自己的自定义词库。
在
~/.local/share/fcitx5/rime目录下新建custom_phrase.txt。vim ~/.local/share/fcitx5/rime/custom_phrase.txt按照这个格式写入自定义词库:
词语<TAB>ciyu<TAB><可选设置权重><TAB>代表制表符(Tab 键)分割,不能使用空格;ciyu是具体单词或者短语的拼音;<可选设置权重>代表该词在候选列表中的排序高低,数字越大越高。以下是一个示例配置:
# encoding: utf-8 # 注释以 # 开头 异环 yihuan 100 异幻 yihuan 99 腾讯 tx 梦里不知身是客,一晌贪欢 shangmengtanhuan重启输入法
fcitx5 -r
效果如图
权重排序

自定义短语

接下来的内容稍微涉及了一点输入法工作原理,如果觉得有些难理解的话可以让 AI 辅助进行阅读,如果不想看的话可以按照下面这个代码块的命令进行设置,出问题再说:
# 创建用户家里的环境变量配置目录,编辑输入法环境变量
mkdir -p ~/.config/environment.d/
vim ~/.config/environment.d/ime.conf
写入以下内容:
XMODIFIERS=@im=fcitx
QT_IM_MODULES="wayland;fcitx"
QT_IM_MODULE=fcitx
SDL_IM_MODULE=fcitx
了解如何让输入法正常工作
让输入法正常工作主要有两种方式,其一是用输入法模块走 D-Bus 总线跟输入法通信的传统方式,其二是用 Wayland 协议以 Wayland 合成器为中间人跟输入法通信的现代方式。
对于前者,首先软件要适配输入法模块,我们再设置对应的环境变量告诉软件使用哪个模块,输入法就可用了。举个例子,typora 这个 Markdown 编辑器支持 GTK 的输入法模块,那么我们就可以设置 GTK 的输入法模块环境变量通过该模块使用输入法。
对于后者,软件需要适配 Wayland 的
text-input协议,输入法框架要支持input-method协议,合成器同时支持这两类协议,通常无须配置环境变量输入法就能正常工作。text-input协议和input-method协议的版本必须匹配,但通常无须在意这个事情。举个例子,GNOME 的文本编辑器支持text-input-v3,fcitx5 支持input-method-v2,Niri 同时支持text-input-v3和input-method-v2,输入法就可用了。以下是常用的输入法模块对应的环境变量:
GTK_IM_MODULE适用于 GTK2/3/4 应用和以 X11/XWayland 运行的 Electron/Chromium 应用。QT_IM_MODULE适用于 Qt 应用。QT_IM_MODULES适用于 Qt6.7 及以后的版本的 Qt 应用。XMODIFIERSXIM 协议。在 Wayland 环境下仅适用于 XWayland 兼容层运行的 Xlib/GTK2/Qt4 应用。SDL_IM_MODULE适用于 SDL 应用。这一项比较特殊,SDL 没有模块文件,XWayland 运行的 SDL 应用会走 XIM,Wayland 运行的 SDL 应用只要合成器提供了text-input-v3就直接走 Wayland 协议,这个环境变量只在合成器不提供 v3 协议时生效,让 SDL 改用 D-Bus 和输入法通信。--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-version=3这一项比较特殊,不是环境变量,而是 Electron/Chromium 应用的命令行参数,典型的 Electron 应用有LinuxQQ、夸克等。这段参数会让软件以 Wayland 运行,走 Wayland 的协议。不用全写,通常只写
--ozone-platform=wayland就行,有问题再说。--enable-features=UseOzonePlatform启用 Ozone 抽象层(跨平台兼容相关);--ozone-platform=wayland让 Ozone 以 Wayland 运行;--enable-wayland-ime启用 Wayland 输入法支持;--wayland-text-input-version=3设置协议版本。
了解配置文件位置
记住下面这些编辑环境变量的地方,尤其注意调整单个应用的环境变量的方法。
系统全局环境变量
/etc/environment用户空间环境变量
~/.config/environment.d/目录下,需新建*.conf文件。*.conf中的星号叫通配符,代表任意字符。调整单个应用的环境变量或参数
需要复制
/usr/share/applications中的.desktop到用户个人的~/.local/share/applications中后修改Exec=行,这是该.desktop文件启动时使用的命令。手动处理比较繁琐,推荐从 AUR 安装pins-git进行编辑。环境变量用
env命令在命令前传入:Exec=env GTK_IM_MODULE=fcitx linuxqq;命令行参数本质是命令的选项,所以接在命令的后面:Exec=linuxqq --ozone-platform=wayland %U。窗口管理器
Niri、Hyprland这样的窗口管理器的配置文件中通常拥有配置环境变量的地方的。
正确设置环境变量
参考 Fcitx5 的 Wiki,以下是我推荐的配置
先在任意设置环境变量的地方配置基础的:
mkdir -p ~/.config/environment.d/ vim ~/.config/environment.d/ime.conf写入以下内容:
# 支持 XIM 协议的 XWayland 应用走 XIM XMODIFIERS=@im=fcitx # QT6.7 及以后的应用能走Wayland走Wayland,走不了 Wayland 走 Qt 的输入法模块 QT_IM_MODULES="wayland;fcitx" # 其他 Qt 应用走 Qt 的输入法模块 QT_IM_MODULE=fcitx # 在合成器不提供 v3 时生效,让 SDL 改用 D-Bus 和输入法通信。 SDL_IM_MODULE=fcitx然后是 Electron 和 GTK 应用的设置
# 编辑 gtk2.0 的配置文件,让 XWayland 运行的 GTK2.0 应用走 GTK 的输入法模块 vim ~/.gtkrc-2.0写入:
gtk-im-module="fcitx"然后是 GTK3.0 和 4.0 的配置文件,以 XWayland 运行的时候走 GTK 的输入法模块
mkdir -p ~/.config/gtk-3.0 vim ~/.config/gtk-3.0/settings.ini[Settings] gtk-im-module=fcitxmkdir -p ~/.config/gtk-4.0 vim ~/.config/gtk-4.0/settings.ini[Settings] gtk-im-module=fcitx之所以在配置文件中写而不是在设置环境变量的地方写,是因为环境变量优先级最高,如果以 Wayland 运行的 GTK 软件被设置了 GTK 的输入法模块环境变量,可能会出现闪烁、错位、无法输入等异常。而写在 GTK 配置文件中的内容优先级是最低的,当软件以 Wayland 运行时这些设置会被代码中硬编码的回退值覆盖,所以这些设置对以 Wayland 运行的 GTK 软件不生效,由此避免了异常。
配置结果如下图:
cat命令打印文件内容;grep命令过滤输出内容
输入法异常的解决办法
如果遇到了漏字、删不掉最后一个字母、大写锁定卡英文等异常
从AUR安装 fcitx5-shorin-patched-git 后重启输入法。
yay -S fcitx5-shorin-patched-git
下一节:软件安装相关
SHORiNのARCH