Skip to content

Fcitx5 + Rime + 洋蔥輸入方案 = 超級中文輸入法

u dot car

自從開始全天Linux,或是更正確的說,自從開始用電腦那天起,我就一直被沒有適合的多語言輸入法困擾著, 直到發現Rime洋蔥輸入方案(法),一試成主顧,任何經手的系統必安裝這套組合拳,因為…

我認為Fcitx + Rime + 洋蔥輸入方案是目前最好用的中文輸入法了!

然後某天,被同事問了這是什麼瞎趴東西怎麼用的時候,才意識到,對啊!目前中文教學資源實在是太少了!因此以下是FedoraKali的安裝方式。

相關知識

本段落與安裝、使用無關,可以直接跳過。

Fcitx?Rime?還有洋蔥,那些是啥?

它們分別是IMF、IME和輸入方案,相信絕大部分的人絕壓根沒聽過,因為主流作業系統早就處理好輸入法的問題了, 舒服打字當然不知道這些啦。不像早期的Linux世界,非拉丁語系輸入法還沒發展成熟,光打個注音就要設定個一堆, bug也一堆,因為輸入法不是只要考慮鍵盤打字、語言,還要考慮顯示系統(如X和Wayland)、UI(如GTK、Qt)等問題, Linux的世界沒有大一統,所以使用者在除錯的時候,當然要學一堆術語了!

  • IMF(Input Method Framework)
    輸入法框架,它是底層的橋樑,與顯示伺服器和UI框架溝通,管理與切換不同的輸入法引擎,並且提供一些附加功能(如主題)。
  • IME(Input Method Engine/Editor)
    輸入法引擎是輸入法的「前端」,提供與使用者直接互動的介面,具體實現輸入邏輯,像是編輯區、輸入提示、 字詞轉換、提供候選字列表、詞庫查詢等功能。 例如Rime實現注音轉譯,把字母 a 理解成注音
  • 輸入方案(Input Schema)
    輸入方案,定義了輸入法的具體行為,包括鍵盤佈局、詞庫、選詞邏輯、簡繁轉換規則、特殊符號輸入等。
    Rime 透過載入不同的輸入方案來實現多種輸入法(如注音、拼音、倉頡等),而洋蔥方案就是眾多輸入方案中的一個, 整合了多種常用語言與功能,非常讚。

對了,現在常見主流Linux分支都有提供相當成熟的解決方案,例如,Ubuntu和Fedora預設使用iBus IMF, 而且使用者可以透過UI自選輸入方案(如chewing),所以給Linux個雞胇嘛。

安裝Fcitx5與其他套件

環境資訊

本文針對以下環境設定:

  1. Fedora (silverblue) 41 + Gnome(Wayland)
  2. Kali 2025.2 + Xfce(X11)

版本不同沒差,安裝與使用的核心觀念一樣。 Silverblue使用者應該知道dnfrpm-ostree吧?
KDE使用者請參考Arch WikiFcitx5 - Using Fcitx 5 on Wayland

  1. 安裝核心程式

    $ sudo dnf install fcitx5 fcitx5-autostart fcitx5-configtool fcitx5-gtk fcitx5-qt fcitx5-rime
    

  2. 安裝Gnome Shell插件,Input Method Panel

  1. 安裝核心程式
    $ sudo apt install fcitx5 fcitx5-frontend-all fcitx5-chinese-addons fcitx5-rime fonts-noto-cjk im-config
    
    Kali本身不為多語言使用者設計,需要多安裝中文字型。

設定Fcitx5為預設IMF

其他教學文大都建議設定環境變數,但我懶,下面的設定比較舒服。

重開機就好,fcitx5-autostart自動設定好預設IMF。

  1. im-config設定fcitx5為預設IMF

    $ im-config -n fcitx5
    

  2. 重新登入,就會在右上角看見鍵盤圖示

    Fcitx5 IMF set

設定Rime為主要輸入法

  1. 點選「Configure」進入fcitx5設定頁

    Fcitx5 IMF set

  2. 在「Available Input Method」搜尋欄位輸入rime,選擇rime,最後點擊「」加入目前啟用輸入法

    Configure Rime in Fcitx5

  3. Optional:點擊「」優先rime為預設輸入法

    Configure Rime as default IME in Fcitx5

設定洋蔥輸入方案

直接使用rime內建的輸入方案不好嗎?

其實rime本身就內建了不錯的中文輸入法了,不裝洋蔥也行!

  1. 右鍵點右上角的鍵盤圖示,選rime,進入rime的設定頁

    Choosing Rime IME - Fedora
    Fedora(點擊目前的IME「keyboard - English」,就會顯示rime選項)
    Choosing Rime IME - Kali
    Kali

  2. 點選有選擇「」圖示,選擇「注音‧臺灣正體

    Configure Chweing Schema

  1. 官方GitHub下載最新的安裝包,或是
    $ wget https://github.com/oniondelta/Onion_Rime_Files/releases/download/release_20250701/Onion_Rime_Files_20250701.zip
    
  2. 解壓縮安裝包
    $ unzip Onion_Rime_Files_20250701.zip
    
  3. 將所選擇的洋蔥版本資料夾下的設定檔移動至rime的資料夾,以「洋蔥mixin版」為例
    $ cp -r 電腦RIME方案_20250701/注音洋蔥mixin版_20250701/* ~/.local/share/fcitx5/rime
    
  4. 重新部屬輸入方案,大概需要等待一兩分鐘
    Reload COnfiguration - Fedora
    Fedora(點擊「Reload Configuration」)
    Reload COnfiguration - Kali
    Kali(點擊「Restart」)
  5. 成功載入畫面
    Reload Succeed

其他詳細設定請參考洋蔥方案的README - 內容,各個洋蔥方案的差異請參考README - 各方案說明README - 注音系列功能說明

主題不炫炮不行!

原始的fcitx主題太平淡了,不改寒磣!很他媽寒磣!

Original Theme

改法1:Wayland + GTK/Qt主題

這是最簡單的改法,只要在wayland之下,就會套用GTK/Qt主題,至PlingGnome-Look下載你喜歡的主題並依照指示安裝,以下以Fedora(Gnome)與Tokyonight GTK Theme為例:

  1. RTFM,閱讀該主題的需求(需安裝sasscmurrine-enginegnome-themes-extra)與主題安裝方式
  2. 安裝需求package。
  3. Clone主題專案到/tmp
    $ git clone https://github.com/Fausto-Korpsvart/Tokyonight-GTK-Theme.git
    
    當然,也可以隨意clone到其他地方。
  4. 依據安裝指示安裝主題,例如希望以teal為主色系、深色並使用storm色調的tokyonight
    Tokyonight-GTK-Theme/themes on master 
    ❯ ./install.sh -t teal -c dark --tweaks storm
    
    也在設定加上--libadwaita,一同給libadwaita的app安裝主題。
  5. 啟動Extension Manager,向下捲啟動「User Themes
    Extension Manager set User Themes
  6. 使用tweaks套用剛剛安裝的主題 Tweaks set User Themes
  7. 完成!
    New Themes

改法2:修改fcitx原生主題

如果使用X11(wayland硬要也可以),就只能安裝fcitx原生主題,以下以Kali(Xfce)與fcitx5-nord theme為例:

  1. RTFM,閱讀該主題的安裝方式
  2. Clone主題專案到/tmp
    $ git clone https://github.com/tonyfettes/fcitx5-nord.git
    
    當然,也可以隨意clone到其他地方。
  3. 創建fcitx的主題資料夾
    mkdir -p ~/.local/share/fcitx5/themes
    
  4. 複製主題到該資料夾
    cp -r Nord-Dark/ Nord-Light/ ~/.local/share/fcitx5/themes/
    
  5. 編輯fcitx的設定檔,啟用主題

    $ vim ~/.config/fcitx5/conf/classicui.conf
    

    Theme=Nord-Dark
    
  6. 完成!
    New Themes

其他疑難雜症

如何橫列候選詞?

Vertical Candidate List=False

如何改字體?

# Font
Font="jf open 粉圓2.1 13"
# Menu Font
MenuFont="Sans 10"
# Tray Font
TrayFont="Sans Bold 10"    

為啥多螢幕解析度怪怪的?

PerScreenDPI=True

不能在Kitty裡打中文字!

設定環境變數GLFW_IM_MODULE=ibus,或是env GLFW_IM_MODULE=ibus kitty啟動Kitty就可以了。

這個問個應該早已修正了,但xfce還沒。

感謝有你!


Last update: 2025-06-25 Created: 2025-06-25

Comments