Skip to content
Search Fedora

    Browse this documentation

    Chinese input on Fedora 45: four routes compared, measured, and how to choose

    Chinese input is genuinely the roughest edge on Fedora. Not because configuration is hard, but because one requirement has four mutually incompatible technical routes, and online guides mix them freely — so you get halfway through and find the framework does not match.

    Everything below is written measure-first, and every number comes from Fedora 45.

    Fedora 45 Workstation default desktop: no input method indicator in the top bar

    On the Workstation 45 image:

    Terminal window
    rpm -q ibus ibus-libpinyin
    ibus-1.5.35~beta1-1.fc45.x86_64
    ibus-libpinyin-1.16.5-6.fc45.x86_64
    Terminal window
    rpm -q fcitx5 fcitx5-chinese-addons
    package fcitx5 is not installed
    package fcitx5-chinese-addons is not installed

    The default is IBus with libpinyin; fcitx5 is not installed at all.

    And no Chinese input source is configured either:

    Terminal window
    dconf read /desktop/gnome/input-sources/sources

    The output is empty. That is why the top bar shows no input method icon (as in the screenshot) — you must add a source first.

    Checking input method state on Fedora 45: imsettings is missing, ibus and typing-booster are running

    Terminal window
    pgrep -a ibus
    2321 /usr/bin/ibus-daemon --panel disable
    2570 /usr/libexec/ibus-dconf
    2580 /usr/libexec/ibus-portal
    2581 /usr/libexec/ibus-engine-simple
    3154 /usr/libexec/ibus-x11
    3037 /usr/bin/python3 /usr/share/ibus-typing-booster/engine/main.py --ibus

    Three things to note:

    • ibus-daemon is running; --panel disable means GNOME draws the panel itself
    • ibus-typing-booster is loaded by default and provides completion
    • ibus-engine-simple is a placeholder engine — it does not mean Chinese is available

    Install transactions measured on a minimal system (dnf install --assumeno output):

    RoutePackagesDownloadDiskChanges framework
    IBus + ibus-rime108 MiB23 MiBno
    IBus + ibus-libpinyin1128 MiB193 MiBno
    fcitx5 + fcitx5-rime6226 MiB118 MiByes
    fcitx5 + fcitx5-chinese-addons88——yes

    (fcitx5 + chinese-addons also upgrades 6 packages and replaces 6 — the longest transaction of the four.)

    The table already answers most questions:

    1. Stay on IBus unless you must switch — switching means environment variables, GNOME integration and tray handling, a much larger failure surface
    2. ibus-rime is the lightest: 10 packages, 23 MiB, an order of magnitude smaller than the libpinyin route
    3. Both fcitx5 routes pull 60+ packages and require imsettings or environment variable changes

    To check whether the four engine sets can coexist, I installed every route on one Fedora 45 system:

    All four routes installed: ibus-rime 1.6.0, fcitx5 5.1.23, fcitx5-rime 5.1.15, and fcitx5-diagnose reporting Rime 5.1.15 enabled

    Terminal window
    rpm -q ibus-libpinyin ibus-rime fcitx5 fcitx5-chinese-addons fcitx5-rime
    ibus-libpinyin-1.16.5-6.fc45.x86_64
    ibus-rime-1.6.0-3.fc45.x86_64
    fcitx5-5.1.23-1.fc45.x86_64
    fcitx5-chinese-addons-5.1.15-1.fc45.x86_64
    fcitx5-rime-5.1.15-1.fc45.x86_64

    All four coexist without conflict: inside IBus, libpinyin and the rime engine sit side by side; inside fcitx5, the pinyin and rime engines do the same. The real either-or choice is which framework runs, not which packages you install.

    On the fcitx5 side the bundled diagnostic confirms the engines are registered:

    Terminal window
    fcitx5-diagnose | grep -E "Pinyin|Rime"
    Cloud Pinyin 5.1.15
    Pinyin 5.1.15
    Extra Pinyin functionality 5.1.15
    Rime 5.1.15

    fcitx5-diagnose reports 30 enabled addons and 0 disabled, with all four Chinese engines among them.

    3. Route A: IBus + Intelligent Pinyin (nothing to install)

    Section titled “3. Route A: IBus + Intelligent Pinyin (nothing to install)”

    If ibus-libpinyin is present (the Workstation image includes it), nothing needs installing:

    1. Open Settings → Keyboard
    2. Under Input Sources click ”+”
    3. Choose Chinese (China) → Chinese (Intelligent Pinyin) → Add
    4. The top bar now shows the indicator; Super + Space switches
    Section titled “4. Route B: IBus + Rime (recommended for a better typing feel)”

    Rime is the best-regarded open-source input engine, and it plugs into IBus directly without changing frameworks.

    Terminal window
    sudo dnf install ibus-rime
    ibus-rime.x86_64 1.6.0-3.fc45
    librime.x86_64 1.16.1-4.fc45

    Measured transaction: 10 packages, 8 MiB download, 23 MiB on disk.

    Then:

    Terminal window
    ibus restart

    Settings → Keyboard → Input Sources now lists Chinese (Rime); add it.

    On first login a notification appears: “ibus-rime — Rime is under maintenance …”. That is Rime deploying its dictionaries; wait for it to finish before typing.

    The ibus-rime candidate window on Fedora 45: "ni hao" giving 1 你好 / 2 妳好 / 3 逆號 / 4 你 / 5 擬

    That is the real candidate window for typing nihao.

    Note the traditional characters mixed in (妳好, 逆號, 擬) — Rime’s default schema, 朙月拼音, is traditional-first.

    Press F4 (or Ctrl + backtick) for the schema menu:

    〔方案選單〕
    1 朙月拼音 2 中/半/漢/。 3 朙月拼音·簡化字 4 朙月拼音·語句流 5 注音

    Rime's F4 schema menu: five schemas, the third being 朙月拼音·簡化字

    Press 3 for 朙月拼音·簡化字, then type wenti:

    After switching to the simplified schema, wenti yields 1 问题 / 2 文体 / 3 温体 / 4 问 / 5 文

    Every candidate is now simplified. The choice is remembered, so you do it once.

    Rime’s default keys:

    ActionKey
    Chinese/EnglishShift
    Scheme menuCtrl + backtick
    Page candidates, . or - =
    Selectnumber keys, or space for the first

    fcitx5 wins on plugin ecosystem and candidate window feel, at the cost of replacing the whole framework.

    Terminal window
    sudo dnf install fcitx5 fcitx5-chinese-addons fcitx5-configtool fcitx5-autostart fcitx5-gtk

    Versions in the F45 repository:

    PackageVersion
    fcitx55.1.23
    fcitx5-chinese-addons5.1.15
    fcitx5-configtool5.1.16
    fcitx5-autostart5.1.23
    fcitx5-gtk5.1.7
    fcitx5-rime5.1.15

    fcitx5-gtk is mandatory — without it GTK applications cannot type Chinese, which is the most common “installed but useless” cause.

    Switch the framework:

    Terminal window
    sudo dnf install imsettings
    imsettings-switch fcitx5

    Then log out and back in — imsettings reads its configuration at session start.

    For the fcitx5 candidate window with the Rime engine, install fcitx5-rime (5.1.15) instead of chinese-addons:

    Terminal window
    sudo dnf install fcitx5 fcitx5-rime fcitx5-configtool fcitx5-autostart fcitx5-gtk

    Measured: 62 packages, 26 MiB download, 118 MiB on disk — lighter than the chinese-addons route.

    Sogou does publish a Linux build and the download page is reachable (https://shurufa.sogou.com/linux returns 200), but there are real problems:

    Terminal window
    dnf list --available 'sogou*'

    Fedora repositories contain no Sogou package at all (empty output).

    So the only path is downloading their RPM, and they target el8 / el9 (RHEL 8/9):

    IssueDetail
    Package target.rpm built for RHEL, not Fedora 45
    Dependenciesyou must resolve missing rpm -qpR entries by hand, and they fight system library versions
    Updatesnot covered by dnf upgrade; you track the vendor site yourself
    Closed sourcekeystrokes pass through vendor dictionaries and cloud candidates; evaluate the privacy policy
    Removalinstalled libraries may be depended on by other packages, leaving a messy uninstall

    Sogou is not impossible, it is simply not packaged for Fedora, which makes it a “you own the maintenance” option. Prefer the four repository routes for daily use.

    Fedora 45 Workstation defaults to Wayland, where:

    • Prefer imsettings-switch over hand-written environment variables
    • GTK_IM_MODULE, QT_IM_MODULE and XMODIFIERS may not take effect, because GNOME has a native input protocol
    • Some apps (especially Electron/Chromium) need explicit flags: Chromium accepts --gtk-version=4 or --enable-wayland-ime, pick one only, and the latter depends on compositor support

    Check the session:

    Terminal window
    echo "$XDG_SESSION_TYPE"

    Work through this in order — it saves a lot of time:

    StepCommandLook for
    1. framework alivepgrep -a ibus or pgrep -a fcitx5a running process
    2. engine registeredibus list-engine then grep pinyina Chinese engine
    3. source addeddconf read /desktop/gnome/input-sources/sourcesempty means not added
    4. GTK modulerpm -q fcitx5-gtk (fcitx5 route)missing means no Chinese in GTK apps
    5. session typeecho $XDG_SESSION_TYPEwayland or x11
    Your situationChoose
    fresh install, just needs to typenothing — add Chinese (Intelligent Pinyin) in Settings
    better Chinese feel without touching the frameworkibus-rime (10 packages, 23 MiB)
    need fcitx5 candidates/pluginsfcitx5 + fcitx5-chinese-addons (88 packages)
    want fcitx5 with the Rime enginefcitx5 + fcitx5-rime (62 packages, 118 MiB)
    must have Sogougrab the vendor RPM, accept dependency conflicts and manual updates
    SymptomCause
    no indicator in the top barno input source configured (dconf read is empty)
    fcitx5 installed but no Chinesefcitx5-gtk missing
    imsettings-switch: command not foundimsettings is not preinstalled
    framework switch did nothingno logout/login
    chinese-addons downloaded hundreds of MBthe transaction is 88 packages, expected
    ibus list-engine cannot connect on a TTYno desktop DBus; use a graphical terminal
    env vars ignored on Waylandswitch via imsettings-switch instead
    Rime dictionaries gonedifferent config paths per framework; redeploy