Chuyển tới nội dung chính

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…
GNOME và Ubuntu

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​

cẩn thận

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​

  1. Mở fcitx5-configtool.
  2. Bấm +, bỏ dấu Only Show Current Language, tìm Funput (nhóm Vietnamese), thêm vào.
  3. 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
mẹo

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ốngXem
Đang dùng IBus và không muốn đổi sessionFunput trên IBus
Máy không có quyền root, Arch ARM, distro ngoài danh sáchCá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 ănXử lý sự cố

Cần trợ giúp thêm?​