几乎所有的fcitx4数据都存储在 ~/.config/fcitx
下。
对于fcitx5,路径更接近XDG标准, ~/.local/share/fcitx5
和 ~/.config/fcitx5
。
其中,Fcitx 4的Rime数据位于 ~/.config/fcitx/rime
, Fcitx 5的Rime数据位于 ~/.local/share/fcitx5/rime
。
发行版可能有自己的方式来拆分包,我将只讨论它们如何在源包上映射。
Fcitx4 | Fcitx5 |
---|---|
fcitx | fcitx5, fcitx5-gtk (Gtk IM Module), fcitx5-qt (Qt IM Module), fcitx5-chinese-addons (Pinyin & Table) |
fcitx-qt5 | fcitx5-qt |
fcitx-configtool | fcitx5-configtool |
kcm-fcitx | fcitx5-configtool |
fcitx-anthy | fcitx5-anthy |
fcitx-chewing | fcitx5-chewing |
fcitx-cloudpinyin | fcitx5-chinese-addons |
fcitx-fbterm | fcitx5-fbterm |
fcitx-hangul | fcitx5-hangul |
fcitx-kkc | fcitx5-kkc |
fcitx-libpinyin | 使用 fcitx5-chinese-addons 替代 |
fcitx-m17n | fcitx5-m17n |
fcitx-rime | fcitx5-rime |
fcitx-sayura | fcitx5-sayura |
fcitx-skk | fcitx5-skk |
fcitx-sunpinyin | 使用 fcitx5-chinese-addons代替 |
fcitx-table-extra | fcitx5-table-extra |
fcitx-table-other | fcitx5-table-other |
fcitx-unikey | fcitx5-unikey |
fcitx-zhuyin | fcitx5-zhuyin |
您需要重新配置输入法列表,不支持迁移配置文件。
这个页面介绍了以下环境变量的含义。你不需要理解他们来使用Fcitx,但是以下内容可能会在你遇到问题是帮助你检查哪里出了问题。
这个变量仅影响 XIM。格式为
XMODIFIERS=@im=<xim 服务器名称>
当 XIM 服务器启动时,他会注册一个应当在这里使用的名称。这个名称不能和其他 XIM 服务器相同,因此你无法在同一个 X 服务器下运行两个 Fcitx。通常情况下,Fcitx 的 XIM 服务器名称为 fcitx。
因此对于 Fcitx 来说这个设置应当为
XMODIFIERS=@im=fcitx
在非 CJK 语言环境中,如果这个环境变量没有设置,一些程序中 XIM 将无法工作,这意味这你最好总是设置了这个环境变量。并且 XIM 也需要你有正确的语言环境,这意味着你的语言必须在下面的命令的输出当中
locale -a
你可以通过以下命令检查你当前的语言环境
locale
为了使用 XIM,你的语言不能设置为 C 或者 POSIX。
这会覆盖系统的gtk输入法模块的自动选择。在默认情况下,gtk按照语言选择对应的输入法模块。Fcitx声明它支持 “zh:ja:ko:*"。这些信息将被记录在一个文件当中,在大多数的 linux 系统中,这个文件为 /etc/gtk-2.0/gtk.immodules 和 /etc/gtk-3.0/gtk.immodules,有时会以 -32 或者 -64 结尾。
在 Debian 进行了多架构的迁移之后,将使用不同的文件。对应文件将为 /usr/lib/<架构>/gtk-{2,3}.0/gtk.immodules }} 你需要使用
gtk-query-immodules-2.0 > <gtk-2.0 的输入法模块文件>
更新 gtk2 的文件,
或者如果你的 gtk2 版本新于 2.24.20,则应当使用
gtk-query-immodules-2.0 --update-cache
就像 gtk3 一样。
以及
gtk-query-immodules-3.0 --update-cache
更新 gtk3 的文件。
来自[email protected]发布于[email protected]的最新消息
各位好,
参照 fcitx 上游的活动记录 [1],原有的 fcitx 4.x 输入法框架的所有仓库已于 2024年5月归档(archived)。可以看出 fcitx4 输入法框架在数年的过渡期之后 其上游的维护与支持已告停止。
考虑到上游的开发重心,以及 fcitx 4.x 对 wayland 协议因设计原因无法运行于 wayland 环境下的情况,我建议现有 fcitx4 用户尽早测试换用 fcitx5, 并择机从 fcitx4 迁移到 fcitx5。
考虑到开发和支持周期问题,下一个 Debian Stable (Debian 13, Trixie) 版本中 仍然会保留所有 fcitx4 的相关软件包。但随着情况的后续发展,fcitx4 的相关 软件包可能最早会在 Ubuntu 26.04 LTS 发布日期后被逐步废弃或移除。
下面是一些常见问题:
-> Debian 中可以参考 https://wiki.debian.org/I18n/Fcitx5 这份维基文档。 -> 如需阅读上游的文档,请访问 https://fcitx-im.org/wiki/Fcitx_5/zh-cn 这里。
-> 根据 https://fcitx-im.org/wiki/Upgrade_from_Fcitx_4 ,移除的输入法大致如下:
-> fcitx-googlepinyin -> fcitx-sunpinyin -> fcitx-libpinyin -> 这三个输入法的用户应转用 fcitx5-chinese-addons。
make.conf
中添加-i18n
使用标记,然后运行:emerge --update --newuse --deep @world --ask
-nls use
标志重建 gnome-shellapp-i18n/ibus
:emerge -cav app-i18n/ibus
或者如果你想保持 ibus 的安装(如果你想使用 fcitx,你根本不需要 ibus,对于较旧的 gnome 3.6,你也可能会遇到这个错误,所以你最好删除它),运行:
gsettings set org.gnome.settings-daemon.plugins.keyboard active false
对当前用户生效。
Or,
如果您使用的是 fedora,请确保使用 imsettings
选择 Fcitx。
如果 set GTK_IM_MODULE
不起作用,请尝试运行以下命令。
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
重新登录。
当你抱怨输入法无法正常工作前,请先阅读这个页面。
从 4.2.7 开始,Fcitx 提供了一个 fcitx-diagnose 的命令,它可以检测一些常见的问题并且给出一些建议。
检查你要输入文字的应用程序。
最可能的原因是某个快捷键占用了 Ctrl Space,请修改另一个快捷键并重试。这常见于编辑器中,因为很多集成开发环境默认使用 Ctrl+Space 作为补全的快捷键。
一些发行版的telegram desktop使用了qt6。这时候要确保系统上安装了Qt6的输入法模块。(对于fcitx4而言,在archlinux上要安装fcitx-qt6软件包)
对于在 X11 下运行的 Chromium,如果使用没有设置 DBUS_SESSION_BUS_ADDRESS 选项的 startx 启动图形用户界面,可能会遇到 这个问题,它会导致基于 Chromium 的浏览器无法正确使用 dbus。为了解决这种情况,可以这么做:
对于在 wayland 下原生运行的 Chromium,唯一支持的原生 wayland 输入法协议是text-input-v1,只有 weston 支持。或者,也可以使用 Gtk4 的 im 模块,需要使用以下标志 (—enable-features=UseOzonePlatform –ozone-platform=wayland –gtk-version=4) 来使其启用 Gtk im 模块,但是除非使用 kimpanel + GNOME,否则在光标位置弹出候选词窗口的功能就完全坏掉了。
Fcitx 软件包通常包括两部分部分:主程序,作为应用程序的输入法模块和插件(通常它们都是输入法引擎)。
您需要从自己的软件包列表中搜索指定的Fcitx包。Fcitx 5软件包的名称中通常包含“fcitx5”。
截至今天,除了一些滚动发行版,fcitx5尚未在发行版存储库中普遍可用。
下面是一些在您使用的发行版中搜索 Fcitx5 软件包的示例。 您还可以使用桌面提供的 GUI 软件中心,例如 gnome-software(GNOME)或Plasma-discover(KDE)发现。
yum search fcitx5 # CentOS
dnf search fcitx5 # Fedora
pacman -Ss fcitx5 # Archlinux
zypper search fcitx5 # OpenSUSE
apt-cache search fcitx5 # Debian/Ubuntu
或者pkgs.org提供一个在不同发行版中搜索软件包的简单方法。 请注意可能有一些版本为0.0~git这样的包,这种版本是一些相当老的版本,比最老的Fcitx5稳定发布版本还要老。通常不建议使用这种版本的Fcitx5.
pkgs.org 也会提供针对不同发行版的特定安装命令。
一个基本的fcitx5安装包括:
一些额外的插件和主题支持:
Flatpak 是一个用于Linux系统的软件分发和包管理工具软件。有两个flatpak仓库提供了fcitx5软件包,一个是flathub,另一个是fcitx本身的不稳定仓库。
截止今日,我们仍然在向flathub推送fcitx5软件包。flathub上现在仅仅只有fcitx5主程序,中文输入法,注音输入法,以及Mozc输入法。
您需要先对flatpak的软件仓库进行配置,可以通过执行下面的命令,或者在图形界面软件上操作完成。
# 添加 flatub 仓库, fcitx5-unstable 也会依赖一些这个仓库中的运行时软件包。
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# 可选部分: 如果你想要使用不稳定版本的fcitx5,也可以添加 fcitx5 非稳定仓库。
flatpak remote-add --user --if-not-exists fcitx5-unstable https://flatpak.fcitx-im.org/unstable-repo/fcitx5-unstable.flatpakrepo
从flatpak安装fcitx
安装新的输入法包后,从命令或托盘菜单启动配置工具 fcitx5-configtool。应该有一个带有按钮的消息,允许重新加载或重新启动 Fcitx 5 以使新的输入法引擎准备好使用。 这仅适用于非 flatpak Fcitx 5。
对于旧的 flatpak 版本,则需要手动重启。基于 Flatpak 的 fcitx 5 中的重启功能不会重新加载沙箱,因此新的扩展包仍然不可见。必须完全退出 Fcitx 并启动一个新实例以使其加载新的 flatpak 扩展包。
从 5.0.16 开始,“重启”将能够启动一个新的更新的 flatpak 版本,就像普通版本一样。
如果上面没有列出你想要的,请参考以下链接
fcitx5-configtool 是一个基于 Qt 的 GUI 工具,为 Fcitx 5 提供用户友好的配置界面。它有两种不同的实现,一种是基于 QWidget 的,可以通过 fcitx5-config-qt 访问,或者基于KCM/Kirigami2的, 可以在 Plasma 系统设置中找到它。尽管它们具有不同的用户界面,但功能是相同的。
Fcitx 5 附带的命令 fcitx5-configtool 实际上是一个脚本,它将自动检测您的桌面环境并启动 fcitx5-configtool 包中相应的实现。
尽管 Fcitx 5 会根据您的系统区域设置和键盘布局进行一些基本配置,但您可能仍然希望通过 fcitx5-configtool 检查并添加或删除输入法以满足您自己的需求。 检查 输入法引擎可用于 Fcitx 5 的输入法引擎。
在 Kirigami 2 版本中,点击右下角的“添加输入法…”按钮,选择要添加的输入法。 在 Qt Widgets 版本中,从右侧面板中单击输入法,然后双击,或单击中间栏中的添加按钮(向左箭头)。
在 Kirigami 2 版本中,单击输入法项末尾的删除按钮。 在 Qt Widgets 版本中,从左侧面板中单击输入法,然后双击,或单击中间列中的删除按钮(向右箭头)。
在 Kirigami 2 版本中,用左侧的手柄拖放项目。 在 Qt Widgets 版本中,单击左侧面板中的输入法,然后单击中间栏中的上移或下移按钮。