From Gentoo Wiki
Jump to:navigation Jump to:search

Fcitx (Flexible Context-aware Input Tool with eXtension support) [ˈfaɪtɪks] is an input method framework with support for many languages and scripts.


USE flags

USE flags for app-i18n/fcitx Fcitx 5 is a generic input method framework

X Add support for X11
autostart Enable XDG-compatible autostart of Fcitx
cairo Enable support for the cairo graphics library
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
doc Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
emoji Enable emoji loading for CLDR
enchant Enable Enchant backend (using app-text/enchant) for spelling hinting
gtk2 Install input method module for GTK+ 2
gtk3 Install input method module for GTK+ 3
introspection Add support for GObject based introspection
keyboard Enable key event translation with XKB and build keyboard engine
lua Enable Lua scripting support
nls Add Native Language Support (using gettext - GNU locale utilities)
opencc Enable OpenCC engine (using app-i18n/opencc) for converter between Simplified Chinese and Traditional Chinese
pango Enable support for x11-libs/pango
presage Enable presage for word predication (not stable)
server Build a fcitx as server, disable this option if you want to use fcitx as an embedded library
systemd Enable use of systemd-specific libraries and features like socket activation or session tracking
table Install table input methods for Simplified Chinese
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
wayland Enable dev-libs/wayland backend
xkb Enable support for XKB (required for fcitx-xkb, fcitx-xkbdbus, part of fcitx-keyboard)

It is strongly recommended to add the gtk2 or gtk3 USE flags when applications are installed that make use of these toolkits.


root #emerge --ask app-i18n/fcitx

Using Fcitx

In order to use Fcitx in X, the following environment variables must be added to start up files and exported:

When using login managers such as LightDM to start the X server add them to the ~/.xprofile file. When using the startx command or SLiM to login, add them to the ~/.xinitrc file.

If the gtk2 or gtk3 USE flags were used upon installation, <module> (in the examples below) will be fcitx, otherwise it should be xim.

FILE ~/.xprofile
export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE=<module>
export GTK_IM_MODULE=<module>

Remember, make ~/.xinitrc look like the example below only if using startx or SLiM to start the X server:

FILE ~/.xinitrc
export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE=<module>
export GTK_IM_MODULE=<module>

KDE Plasma: If these environment variables are not getting loaded either from ~/.xprofile nor ~/.xinitrc, try adding them to a Plasma startup script, such as ~/.config/plasma-workspace/env/fcitx.sh.

It is recommended to start the D-Bus session bus before Fcitx starts. Add these to the beginning of the X start up file (~/.xprofile or ~/.xinitrc):

FILE ~/.xprofile or ~/.xinitrc
eval "$(dbus-launch --sh-syntax --exit-with-session)"

Note that things can work for some users without this dbus-launch addition.

When desiring to use Fcitx in X, the system locale cannot be C or POSIX.


Edit Fcitx's configuration file at ~/.config/fcitx/config

Also, there are GUI tools to configure Fcitx. Install app-i18n/fcitx-configtool (based on GTK2 or GTK3) or app-i18n/kcm-fcitx (based on KDE) to use them.


Other than the built-in classic UI, there is also a frontend which integrates into KDE well called Kimpanel (included in kde-plasma/kdeplasma-addons). The dbus flag must be enabled to use Kimpanel. Once installed, add the kimpanel plasmoid to the plasma panel and fcitx will switch to it by its self.

Specific language support


Fcitx itself has built-in pinyin support. Enabling the table USE flag will provide multiple table-based input methods such as WuBi and Ziranma.

Install app-i18n/fcitx-cloudpinyin to have better results in the candidate words list.

The built-in pinyin use a simple algorithm, and there are other pinyin input methods using other algorithms. Install app-i18n/fcitx-libpinyin or app-i18n/fcitx-rime to use them.

For Bopomofo support app-i18n/fcitx-chewing or app-i18n/fcitx-libpinyin can be installed.

For Cangjie or Boshiamy support install app-i18n/fcitx-table-extra.


See also: How to read and write in Japanese — how to read and write in Japanese on a non-Japanese system.

Install app-i18n/fcitx-anthy:

root #emerge --ask app-i18n/fcitx-anthy


Install app-i18n/fcitx-hangul:

root #emerge --ask app-i18n/fcitx-hangul


Install app-i18n/fcitx-unikey:

root #emerge --ask app-i18n/fcitx-unikey