fcitx5+rime+rime-ice
介绍
fcitx5 -输入法框架 ,实现了一些input method protocol ,沟通gui和输入法引擎
rime 输入法本体(引擎)
rime-ice 输入法词库+配置方案
步骤
清理,防止出冲突问题
sudo apt-get purge –purge ibus ibus-*
sudo apt-get purge –purge fcitx fcitx-* fcitx5-*
rm -rf ~/.config/fcitx ~/.config/ibus ~/.cache/ibus ~/.local/share/fcitx5 ~/.config/fcitx5
最好顺便重启
安装
sudo updateapt-get
sudo update
sudo apt-get install fcitx5 --install-recommends
sudo apt-get install fcitx5-rime fcitx5-chinese-addons --install-recommendsor aptitude
sudo aptitude install fcitx5 -r
sudo aptitude install fcitx5-rime fcitx5-chinese-addons -r在 fcitx 配置中打开 rime 输入法

配置皮肤,或者跳过
这里贴一下大概
https://github.com/escape0707/fcitx5-adwaita-dark?tab=readme-ov-file#how-to-use
我自己用的
git clone --depth=1 --recurse-submodules https://github.com/Reverier-Xu/Fluent-fcitx5 ~/.local/share/fcitx5/themes/Fluent-fcitx5
mv ~/.local/share/fcitx5/themes/Fluent-fcitx5/FluentLight-solid/ ~/.local/share/fcitx5/themes/
echo '
# Vertical Candidate List
Vertical Candidate List=False
# Use Per Screen DPI
PerScreenDPI=True
# Set font for Chinese then font size
Font="Noto Sans CJK SC 12"
# Theme
Theme=FluentLight-solid
' > ~/.config/fcitx5/conf/classicui.conf
pkill fcitx5 && fcitx5 &配置拼音输入法
git clone --depth=1 --recurse-submodules https://github.com/iDvel/rime-ice
# if fcitx 5 之前的版本
# mkdir ~/.config/fcitx/rime/
# mv ~/.config/fcitx/rime/ ~/.config/fcitx/rime.bak/
#cp -r ./rime-ice/* ~/.config/fcitx/rime/
mv ~/.local/share/fcitx5/rime/ ~/.local/share/fcitx5/rime.bak/
mkdir ~/.local/share/fcitx5/rime/
cp -r ./rime-ice/* ~/.local/share/fcitx5/rime
echo '
# ~/.local/share/fcitx5/rime/default.custom.yaml
patch:
"menu/page_size": 9
schema_list:
- schema: rime_ice
# 禁用 Shift + Space 的全角/半角切换
key_binder/bindings:
- { accept: "Shift+space", toggle: noop, when: always }
- { accept: "Shift", toggle:noop , when: always }
# 使用官方 ascii_composer 配置(推荐)
ascii_composer:
switch_key:
Caps_Lock: commit_code # Caps Lock:上屏编码 + 切英文
Shift_L: noop # 左 Shift 不切换(保留临时输入大写)
Shift_R: noop # 右 Shift 不切换
switches:
# reset 的值表示设置 上一行的 states,0表示选中第一个,1表示选中第二个
- name: ascii_mode
states: [A, 中]
reset: 0
- name: ascii_punct
states: [$ ,¥]
reset: 0
- name: traditionalization
states: [简, 繁]
reset: 0
- name: emoji
states: [💀, 😄]
reset: 0
- name: full_shape
states: [半角, 全角]
reset: 0
'> ~/.local/share/fcitx5/rime/default.custom.yaml
pkill fcitx5 && fcitx5 &搞定,基础的环境变量
echo '
~/.config/environment.d/fcitx5.conf
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export QT_IM_MODULES=wayland;fcitx
export XMODIFIERS=@im=fcitx
' > ~/.config/environment.d/fcitx5.conf
bug
1.
后面的wayland环境变量再慢慢自己磨,可以参考 https://zhuanlan.zhihu.com/p/690062589,不过现在2026/4/7 我的ubuntu 25.10 gnome 49 没遇到任何不生效之类的bug,应该是已经被各个 gui 框架用别的办法解决了 ,
不过有个最严重的问题就是我在输入拼音的时候,只要有个候选词队列,我的光标就没办法在gui内的文本编辑框架/输入框字母之间跳动 ,但是可以看出来有个状态,这个bug 是Fcitx5的因为我测试了不同的fcitx5-输入法,同时也是所有程序存在的问题,目前觉得是gtk/qt的文本引擎对 input-method-v1/2/3 支持不够正常,要不就是 fcitx5 的 input-method-v1/2/3 协议实现不够标准规范
在玩全屏游戏的时候,没办法自动禁用shift切换输入法,让我很难受,不过以前在win7的时候这种情况也很多,所以不算是fcitx5 bug,只能说磨合不好,wine 游戏禁用输入法的api还没有在wine实现转义成禁用 input-method-v1/2/3 和 xim 协议功能的输入法
temp 解决方案:打开游戏的时候 kill fcitx5, 退出游戏的时候 fcitx5 &
在 kate 和 telegram 上,fcitx5 失效,需要检查问题,目前觉得是因为qt原因,或者 input-method-v1/2/3 的功能问题
参考

https://github.com/iDvel/rime-ice?tab=readme-ov-file#%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85
皮肤
环境变量

