安装配置fcitx
输入法
Fcitx
(Flexible Input Method Framework
) ── 即小企鹅输入法,
是一个以 GPL
方式发布的输入法平台,可以通过安装引擎支持多种输入法,
支持简入繁出,
在 Linux
操作系统中常用的中文输入法。
优点:
短小精悍、跟程序的兼容性比较好。
安装
使用系统自带的软件安装管理工具安装软件包 fcitx
,或者安装fcitx
的接替版本fcitx5
。
Fcitx5
是一个输入法框架,具有轻量级内核,并通过addon
提供额外的语言支持。
Fcitx5
接替Fcitx
。注意:
fcitx5
仅提供基本框架,且仅支持英文。若要输入其他语言(例如中文或日文),则需要安装输入法引擎(
IME
)。
输入法引擎
Fcitx
内置的输入法支持中文 拼音 和基于字符表的输入(例如五笔)。
根据语言的不同,可以选择其他输入法引擎。
至少需要一种与所用语言相应的输入法。
可用的fcitx
输入法包括:
中文
在 Fcitx
支持的拼音输入法中,内置拼音响应速度最快。
Fcitx
同样支持流行的第三方拼音输入法以提供更好的整句输入效果。
fcitx-sunpinyin
在输入速度和输入精度之间有较好的平衡。fcitx-libpinyin
算法比sunpinyin
先进。fcitx-rime
, 即著名中文输入法Rime IME
的Fcitx
版本。但不支持Fcitx
本身的 #特殊符号 和 #快速输入 功能,自定义设置请参见官方,fcitx-googlepinyin
,Google
拼音输入法for Android
。fcitx-chewing
为Fcitx
添加chewing
(繁体中文注音) 输入引擎支持。依赖libchewing
。fcitx-table
:Fcitx
的一些额外码表支持,包括仓颉 3, 仓颉 5, 粤拼, 速成, 五笔, 郑码等。
日文
fcitx-mozc
, 为Fcitx
添加mozc
(日语) 输入引擎支持,mozc
是Google
日语输入法的开源版本。fcitx-kkc
, 一款新的基于libkkc
的日文假名与汉字输入引擎。fcitx-skk
, 一款基于libskk
的日文假名与汉字输入引擎。fcitx-anthy
, 为Fcitx
添加anthy
(日语) 输入引擎支持。
其语言
fcitx-hangul
, 为Fcitx
添加hangul
(韩语) 输入引擎支持。fcitx-m17n
, 为Fcitx
添加m17n
(多国语言码表) 输入引擎支持。fcitx-unikey
, 为Fcitx
添加unikey
(越南语) 输入引擎支持。fcitx-sayura
, 为Fcitx
添加sayura
(僧伽罗语) 输入引擎支持。
可用的fcitx5
输入法包括:
中文
fcitx5-chewing
是流行的繁体中文注音输入引擎,基于libchewing
。fcitx5-chinese-addons
包含与中文相关的addon
,例如拼音、双拼和五笔。fcitx5-rime
使用Rime
引擎。
日文
fcitx5-mozc
基于Mozc
(Google
日文输入法的开源版本)。fcitx5-skk
是日文假名输入引擎,基于libskk
。
其他语言
fcitx5-hangul
用于输入韩文,基于libhangul
。
输入法模块
若没有安装对应的模块,一般还是可以在大部分程序中使用输入法的。
不过很可能出现从无法光标跟随、无法显示预编辑字符串、无法输入甚至程序卡死等情况。
使用
集成
编辑 /etc/environment
并添加以下几行,后重新登录[1]:
GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus
若使用 en_US.UTF-8
时,遇到 GTK2
无法激活 fcitx5
,可专门为该 GTK2
应用程序设置输入法为 xim
,如:
$ envGTK_IM_MODULE=xim <your_gtk2_application>
注意:
请勿将
GTK_IM_MODULE
全局设置为xim
,因为也会影响GTK3
程序。
XIM
有各种问题(比如输入法重启之后再无法输入),尽可能不要使用。注意:
SDL_IM_MODULE
是为了让一些使用特定版本SDL2
库的游戏能正常使用输入法。
GLFW_IM_MODULE
是为了让kitty
启用输入法支持。此环境变量的值只能为
ibus
。
桌面环境下自动启动
若用 XDG
兼容的桌面环境,比如 KDE
, GNOME
, Xfce
, LXDE
, 则当装好 Fcitx
并重新登录后,Fcitx
应该会自动启动。
若没有的话,可以打开控制台并运行fcitx
。
为检验 Fcitx
是否正常运行, 打开一个程序,比如 leafpad
, 按 CTRL+Space
激活 Fcitx
并试着输入几个字。
若 Fcitx
没有随桌面环境自动启动,或者想修改下 Fcitx
启动参数,请用桌面环境提供的自动启动工具配置,或者直接编辑用户目录~/.config/autostart/
下的 fcitx-autostart.desktop
文件以确认自动启动是否被禁用。
若用户目录下的文件并不存在,可以复制自动启动文件 /etc/xdg/autostart/fcitx-autostart.desktop
到用户目录:
$ cp /etc/xdg/autostart/fcitx-autostart.desktop ~/.config/autostart/
或者,fcitx5
输入如下命令:
$ cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/
若使用的桌面环境并不自动支持 XDG
自动启动, 请在用的启动脚本里面添加 fcitx
以实现自动启动。
若使用i3
或sway
窗口管理器,可以在配置文件中添加exec --no-startup-id fcitx
来自动启动fcitx
输入法,添加exec --no-startup-id fcitx5 -d
来启动fcitx5
输入法。
若使用dwm
,则需要添加 autostart
补丁。在 ~/.dwm/autostart.sh
中添加fcitx来启动fcitx
输入法,添加fcitx5 -d
来启动fcitx5
输入法。
注意:
当
iBus
等其输入法程序同时启动且开启了Xim
支持时, 可能导致Fcitx
无法启动,请确保已禁用了其入法程序的自动启动。
Fcitx
其他变量:
设置 IM
环境变量
以及请按以下方式设置环境变量,若没有这些环境变量,程序可能默认使用 XIM
协议。
qt5
程序不支持 XIM
所以必须配置使用 IM
模块。
建议通过 ~/.pam_environment
设置环境变量,pam-env
模块会在所有登录会话中读取此文件,包括 X11
会话和 Wayland
会话。
详情请参考 man 8 pam-env
。
GTK_IM_MODULE DEFAULT=fcitx QT_IM_MODULE DEFAULT=fcitx XMODIFIERS DEFAULT=\@im=fcitx
重新登录后让环境变量生效。
若 fcitx
没有自动启动,请将 fcitx &
加入 ~/.xinitrc
, 如若fcitx &
不启动,在后面加一个延时 sleep 2
。
注意:
请不要在
.bashrc
设置这些环境变量。
bashrc
只应用于交互性bash
会话的初始化,并不应用于非交互性脚本或X
会话的初始化。
Xim
要在 Gtk
/Qt
程序中用 xim
, 请将上面的变量改成如下的值:
GTK_IM_MODULE DEFAULT=xim QT_IM_MODULE DEFAULT=xim
警告:
使用
xim
, 很可能会遇到一些包括不能输入, 没有光标跟随, 重启输入法时应用程序卡死在内的无法由Fcitx
解决的问题,且官方不支持解决。
重新登录后让环境变量生效。
注意:
Gtk2
从2.24.20
开始,使用/usr/lib/gtk-2.0/2.10.0/immodules.cache
作为缓存文件。若设置了
GTK_IM_MODULE_FILE
环境变量或在安装后修改了配置,请清掉环境变量并使用/usr/bin/gtk-query-immodules-2.0 --update-cache
更新缓存。
Qt5
程序不支持XIM
所以必须配置使用IM
模块
配置
配置工具
安装完配置工具fcitx-configtool
之后打开配置工具的方法是用终端运行fcitx-config-gtk3
,打开这个配置工具之后还要添加中文输入法。
fcitx5
的配置文件位于 ~/.config/fcitx5
,尽管可以使用文本编辑器编辑配置文件,但是使用 GUI
配置显然更方便。安装 fcitx5-configtool
软件包。
对于新安装的英文系统,要取消只显示当前语言的输入法(Only Show Current Language
),才能看到和添加中文输入法(Pinyin
, Libpinyin
等)。
若要手工编辑 fcitx
的配置文件,请确保系统中并没有在运行 fcitx
,否则手工编辑的配置内容可能丢失。
输入法
可以在配置界面工具中添加/移除启用的输入法。
在输入法图标上右键可以打开配置。
列表第一项将作为「未激活」状态使用,请将此项设为键盘布局输入法,比如「(键盘 - 英文)」,第一项后面的输入法都是活动输入法。
警告:
请必须将键盘布局输入法设为列表中第一项, 否则可能会无法禁用中文输入。
在全局配置*中, *触发输入法 快捷键仅在未激活输入法及最后一个活动输入法之间切换。
切换输入法 快捷键默认仅在不同的活动输入法间切换,但是在高级设置中可以将非激活输入法加入切换选择。
切换输入法 快捷键需要按顺序按下,例如 ALT_SHIFT
仅在先按 alt
再按 shift
后生效。
扩充内置拼音词库
fcitx
自定义词库:
fcitx
的用户配置拼音词库在 ~/.config/fcitx/pinyin
, 其中 pybase.mb
为拼音单字库,pyphrase.mb
为拼音词库。
若这两文件并不存在,直接将下载的词库放置到 /usr/share/fcitx/pinyin
。
重启 Fcitx
即可。
fcitx5
自定义词库
对于fcitx5
而言,由于 fcitx5
支持 导入搜狗词库,因此很大程度上不需要自定义词库,但是 fcitx5
依然提供了相关工具。
原始词库文件是一个文本文件,其格式为: 汉字 拼音 频率
在得到原始词库文件后,调用 libime_pinyindict "词库文件.txt" "词库文件.dict"
即可。
自定义词库文件放置在 ~/.local/share/fcitx5/pinyin/dictionaries
主题皮肤
对于fcitx
而言,下载皮肤并解压缩到下面任一目录,若没有可以新建目录:
/usr/share/fcitx/skin ##全局设置~/.config/fcitx/skin #特定用户设置
对于fcitx5
而言,可直接从仓库内下载安装,但仓库内的主题数量有限,若需要更多主题,可以去 GitHub
发现更多主题。
fcitx5-material-color
:提供了类似微软拼音的外观。
若手动下载,则将主题皮肤下载并解压缩到下面任一目录,若没有可以新建目录:
~/.local/share/fcitx5/themes/
之后,前往 Fcitx5设置 -> 配置附加组件 -> 经典用户界面 -> 主题
设置主题。
云拼音
安装后重启 Fcitx
即可,所选的云拼音输入结果会自动添加到当前输入法的词库中。
提醒:
建议在
fcitx
设置里面将“云拼音来源”由
启用云拼音后,从云拼音获得的候选词会默认添加到候选词列表中的第二个,显示位置可以通过云拼音的设置配置。
若云拼音的结果和本地输入法给出的结果一致,云拼音后选项会和本地产生的候选项自动合并,不会产生重复的候选项。
若安装fcitx-cloudpinyin
后,在配置程序里却没有看见云拼音,记得勾上“高级”复选框。这时云拼音会显示出来,再勾上云拼音。
注意:
不推荐将云拼音候选词设为第一个候选词,
因为当网络情况不好,没有及时返回云拼音结果,
则云拼音结果将默认降到第二候选词的位置,
于是这个过程可能会涉及到默认候选词的改变。