快轉到主要內容

透過Flatpak跑Fcitx5,安裝Linux的中文輸入法

· 民國113年甲辰年
·
切換繁體/簡體
分類 Linux系統 Linux好用軟體
標籤 Fcitx Flatpak Input Method Immutable Distro
目錄

Fcitx小企鵝是一款功能多樣的開源中文輸入法框架,相較於iBus功能更多。現已支援注音、倉頡、嘸蝦米、RIME、行列、粵語、拼音、五筆、日文、韓文、越南文輸入。

目前Fcitx5已在Flathub上架,任何Linux發行版透過Flatpak容器即可安裝,而不用使用系統的套件管理器(如APT/DNF/YUM/Pacman/Zypper/Portage)安裝。

為什麼不用系統套件管理器而要用Flatpak容器安裝呢?本文討論的Fcitx5裝法適合用於以下三種情況:

  • 在任一Linux發行版體驗最新版Fcitx5輸入法功能,適用Ubuntu、Debian、Arch Linux、Fedora、openSUSE、Gentoo。
  • 在無法修改系統的Immutable Distro上安裝Fcitx5,例如SteamOS、Fedora Silverblue、openSUSE MicroOS、Vanilla OS
  • 在沒有提供Fcitx5套件的發行版使用Fcitx5,例如Alpine Linux、CentOS Stream、Slackware、Rocky Linux

測試過的系統
#

  • Rocky Linux 9.4
  • Fedora Silverblue
  • Fedora Kinoite
  • Bazzite

1. 宿主機安裝輸入法模組
#

(在KDE Plasma 6.0 Wayland,或許你不需要做這節步驟也能使用Fcitx5輸入法,只要在系統設定 → 虛擬鍵盤設定為Flatpak Fcitx5即可。)

雖然我們要用Flatpak安裝Fcixt5,但宿主機端依然要安裝輸入法模組相關套件,作為容器與宿主機的「橋樑」才可以喚醒Fcitx5,否則就只能在Flatpak應用程式裡面使用而已,無法在宿主機的GTK與QT程式使用Fcitx5打字。

根據Fcitx5開發者的解釋,Fcix5相容多種輸入法協定,必須在宿主機安裝任一種輸入法模組:ximibus舊版fcitx4fcitx5

通常,你要在Linux安裝fcitx5,會用系統的套件管理器安裝,例如Ubuntu用APT安裝Fcitx5套件。除了Fcitx5以外,你還會一併裝上Fcitx的GTK與QT模組的套件,才能在這些程式打字。不過有的Linux發行版套件過舊,可能連Fcitx套件都沒有,這個時候就能用ibus替代原本fcitx模組的用途。反過來說,如果Linux發行版已經有提供Fcitx的GTK與QT模組的套件,那麼就沒有用iBus的必要。

如果宿主機沒有fcitx套件
#

  1. 以iBus為例,有些Linux發行版即使套件老到不行,連一個版本的fcitx都沒收,也一定會收ibus套件:
# Ubuntu/Debian
sudo apt install ibus

# Fedora/RHEL/Rocky Linux
sudo dnf install ibus

# Fedora Silverblue
sudo rpm-ostree install ibus

# openSUSE
sudo zypper install ibus
  1. 編輯/etc/environment,設定環境變數,指定系統輸入法框架使用ibus
GTK_IM_MODULE=ibus
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus
SDL_IM_MODULE=ibus
GLFW_IM_MODULE=ibus

如果宿主機有fcitx套件
#

如果發行版有收錄Fcitx套件,則至少要安裝GTK與QT前端。

  1. 安裝Fcitx5套件
# Ubuntu/Debian
sudo apt install fcitx5-frontend-gtk3 fcitx5-frontend-gtk4 fcitx5-frontend-qt5 fcitx5-frontend-qt6

# Fedora/RHEL/Rocky Linux
sudo dnf install fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt fcitx5-qt6

# Fedora Silverblue
sudo rpm-ostree install fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt fcitx5-qt6

# openSUSE
sudo zypper install fcitx5-gtk3 fcitx5-gtk4 fcitx-qt5 fcitx-qt6
  1. 編輯/etc/environment,設定環境變數,指定系統輸入法框架使用fcitx
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus

2. 安裝Flatpak版Fcitx5
#

  1. 安裝Flatpak,重開機。

  2. 從Flathub安裝Fcitx5:

flatpak install --user org.fcitx.Fcitx5
  1. 然後再以Add-On方式安裝輸入法,例如新酷音。(注意Chewing跟Zhuyin是兩款不同的輸入法)
flatpak install --user org.fcitx.Fcitx5.Addon.Chewing

flatpak install --user org.fcitx.Fcitx5.Addon.ChineseAddons
  1. 其餘輸入法的名稱請用指令搜尋:flatpak search org.fcitx.Fcitx5.Addon

由於這裡我使用的是Flathub的穩定版頻道,可能輸入法數量較少,這個時候你可以新增Fcitx5的不穩定版套件庫,再重新搜尋。

flatpak remote-add --user --if-not-exists fcitx5-unstable https://flatpak.fcitx-im.org/unstable-repo/fcitx5-unstable.flatpakrepo
  1. 嘗試執行Fcitx5。
flatpak run org.fcitx.Fcitx5 &
  1. KDE的輸入法面板應該會彈出Fcitx5,點選設定,將新酷音從右邊的面板加入到左邊面板,即可啟用新酷音輸入法。

  2. Fcitx5在X11下應該是開箱即用的,預設為按Ctrl+空白鍵切換輸入法。

Flatpak版Fcitx5的資料儲存位置位於~/.var/app/org.fcitx.Fcitx5/config

關於Wayland應用程式的環境變數設定,請參閱下面的Arch Linux 中文维基。

  1. 確認可以使用後,設定登入桌面後自動啟動Fcitx5
cp ~/.local/share/flatpak/exports/share/applications/org.fcitx.Fcitx5.desktop \
~/.config/autostart/org.fcitx.Fcitx5.desktop

參考資料
#

相關文章


此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用外部圖床網站。