Cài đặt trên Linux
Funput trên Linux là một engine chạy bên trong Fcitx5 — không phải ứng dụng portable. Trang này là đường cài khuyến nghị: cài từ kho có ký GPG, chạy trên Fcitx5.
Làm đủ 5 bước dưới đây theo thứ tự. Bước hay bị bỏ qua nhất là bước 3 — và đó cũng là nguyên nhân của gần như mọi trường hợp "cài xong mà không gõ được".
Bước 1 — Xem bạn đang ở đâu
Funput chạy trong Fcitx5, nên máy cần có Fcitx5. Trước hết ghi lại hai giá trị này, bước 3 sẽ cần:
echo "$XDG_SESSION_TYPE" # x11 hoặc wayland
echo "$XDG_CURRENT_DESKTOP" # GNOME, KDE, sway…
Session mặc định ở đây nối vào IBus, không phải Fcitx5. Chọn Fcitx5 nghĩa là phải nối lại session (bước 3) rồi đăng xuất và đăng nhập lại — cài xong chưa gõ được ngay. Muốn tránh bước đó thì dùng bản IBus.
Bước 2 — Thêm kho và cài
Kho phần mềm Funput (repo.funput.app) có ký GPG và tự cập nhật khi có bản phát hành mới. Thêm kho một lần, sau đó cài và cập nhật như gói hệ thống bình thường.
Danh sách theo đúng cách install.sh nhận diện distro, nhưng Funput chưa được kiểm thử trên tất cả. Nếu package manager báo thiếu thư viện, distro của bạn cũ hơn máy dựng gói — hãy báo lỗi trên GitHub, hoặc dùng đường cài vào ~/.local.
Thêm kho (làm một lần):
sudo install -d /usr/share/keyrings
curl -fsSL https://repo.funput.app/funput.asc | sudo tee /usr/share/keyrings/funput.asc >/dev/null
sudo tee /etc/apt/sources.list.d/funput.sources >/dev/null <<'REPO'
Types: deb
URIs: https://repo.funput.app/deb
Suites: ./
Signed-By: /usr/share/keyrings/funput.asc
REPO
sudo apt update
Cài:
sudo apt install funput
Vì sao là .sources chứ không phải .list?
Đây là định dạng deb822. Dạng một dòng .list cũ vẫn chạy, nhưng apt 3.0 (Debian 13, Ubuntu 25.04 trở lên) đã báo deprecated trên mỗi lần chạy.
Gói funput kéo theo funput-settings — ứng dụng Cài đặt — đúng cùng phiên bản. Kho chỉ phục vụ bản mới nhất; cần bản cũ thì xem Cách cài khác.
Bước 3 — Nối session vào Fcitx5
Funput là engine bên trong Fcitx5, nên phải làm hai việc: cho Fcitx5 tự chạy, và trỏ session về nó. Đây là bước hay hỏng nhất — làm đủ cả ba phần dưới đây.
3a. Cho Fcitx5 tự khởi động
KDE Plasma: System Settings → Virtual keyboard → Fcitx 5. Tài liệu Fcitx5 nói đây là điều kiện để giao thức text-input chạy được với ứng dụng Wayland thuần — autostart không thay thế được.
GNOME và mọi desktop khác:
mkdir -p ~/.config/autostart
cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/
3b. Đặt biến môi trường
Chọn đúng một khối, theo hai giá trị bạn đã in ra ở bước 1.
XDG_SESSION_TYPE là x11 — mọi desktop.
Ưu tiên công cụ của distro: nó đặt biến đúng chỗ cho display manager bạn đang dùng, và làm luôn phần 3a.
# Debian / Ubuntu (và Mint, Pop!_OS…)
im-config -n fcitx5
# Fedora
sudo dnf install fcitx5-autostart
Arch, openSUSE và các distro không có công cụ riêng thì đặt tay:
cat >> ~/.bash_profile <<'CONF'
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
CONF
Chọn ~/.bash_profile vì GDM, SDDM và LightDM đều đọc nó. Dùng shell khác bash, hoặc muốn áp cho mọi người dùng: xem nơi đặt biến.
XDG_SESSION_TYPE là wayland, XDG_CURRENT_DESKTOP là GNOME / sway / compositor wlroots:
mkdir -p ~/.config/environment.d
cat > ~/.config/environment.d/fcitx5.conf <<'CONF'
XMODIFIERS=@im=fcitx
QT_IM_MODULE=fcitx
CONF
Cố ý không có GTK_IM_MODULE — GTK 3/4 trên Wayland đã tự nói chuyện với compositor qua text-input-v3.
XDG_SESSION_TYPE là wayland, XDG_CURRENT_DESKTOP là KDE:
mkdir -p ~/.config/environment.d
cat > ~/.config/environment.d/fcitx5.conf <<'CONF'
XMODIFIERS=@im=fcitx
CONF
Chỉ một dòng. Đặt thêm GTK_IM_MODULE hay QT_IM_MODULE ở mức global sẽ làm candidate window nhấp nháy trên KWin.
3c. Đăng xuất và đăng nhập lại
Biến môi trường chỉ được nạp khi bắt đầu một session mới. Mở terminal mới là không đủ, source cũng không ăn thua. Đăng xuất/đăng nhập lại — hoặc khởi động lại máy cho chắc.
Ba phần trên phủ hết các trường hợp thường gặp. Nếu bạn dùng Qt 6.8.2 trở lên, dùng display manager không đọc environment.d, hoặc đã từng chạy im-config và muốn gỡ ra: xem Session — trường hợp đặc biệt.
Bước 4 — Bật Funput
- Mở
fcitx5-configtool. - Bấm +, bỏ dấu Only Show Current Language, tìm Funput (nhóm Vietnamese), thêm vào.
- Bật/tắt tiếng Việt bằng
Ctrl + `hoặc icon Fcitx5 ở khay hệ thống.
Bước 5 — Kiểm tra
fcitx5-diagnose
Lệnh này soát cả biến môi trường session lẫn addon đã nạp, và chỉ thẳng ra chỗ còn thiếu. Chạy nó trước khi đi tìm nguyên nhân ở chỗ khác — nếu có gì sai ở bước 3, nó sẽ nói.
Sau khi cài
- Mở app Funput trong menu ứng dụng để chọn Telex hoặc VNI, smart/eager restore và các tuỳ chọn khác.
- Cài đặt lưu tại
~/.config/Funput/settings.json— thay đổi có hiệu lực khi focus lại ô nhập liệu.
Cập nhật
Đã thêm kho ở bước 2 thì cập nhật là tự động, đi cùng gói hệ thống:
sudo apt update && sudo apt upgrade funput # Debian / Ubuntu
sudo dnf upgrade funput # Fedora
sudo zypper update funput # openSUSE
sudo pacman -Syu # Arch
Sau khi cập nhật mà bộ gõ không hoạt động bình thường, đăng xuất/đăng nhập lại là cách an toàn cho mọi desktop. (fcitx5 -r -d cũng được — trừ KDE, xem cảnh báo.)
Không đi được đường này?
| Tình huống | Xem |
|---|---|
| Đang dùng IBus và không muốn đổi session | Funput trên IBus |
| Máy không có quyền root, Arch ARM, distro ngoài danh sách | Cách cài khác |
| Cần ghim một phiên bản cũ | Cách cài khác |
| Cài rồi mà gõ không ăn | Xử lý sự cố |