Bộ gõ tiếng Việt đơn giản, hiệu năng cao cho Linux
Khám phá trang chủ »
Dự án này là bản fork được tối ưu hóa từ bộ gõ VMK. Chân thành cảm ơn tác giả Thành đã đặt nền móng cho bộ gõ này.
💡 Bấm vào phần bên cạnh badge để mở rộng hướng dẫn.
Hiện tại AUR có 3 gói cài đặt để bạn lựa chọn:
| Gói | Mô tả |
|---|---|
fcitx5-lotus |
Build từ mã nguồn release ổn định |
fcitx5-lotus-bin |
Dùng binary đã build sẵn |
fcitx5-lotus-git |
Build từ danh sách commit mới nhất |
Cài đặt bằng yay:
# Cú pháp: yay -S <tên-gói>
yay -S fcitx5-lotusHoặc paru:
# Cú pháp: paru -S <tên-gói>
paru -S fcitx5-lotus# Tự động nhận diện codename và cài đặt
CODENAME=$(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2)
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://fcitx5-lotus.pages.dev/pubkey.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/fcitx5-lotus.gpg
echo "deb [signed-by=/etc/apt/keyrings/fcitx5-lotus.gpg] https://fcitx5-lotus.pages.dev/apt/$CODENAME $CODENAME main" | sudo tee /etc/apt/sources.list.d/fcitx5-lotus.list
sudo apt update && sudo apt install fcitx5-lotus# Tự động nhận diện codename và cài đặt
CODENAME=$(grep '^UBUNTU_CODENAME=' /etc/os-release | cut -d'=' -f2)
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://fcitx5-lotus.pages.dev/pubkey.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/fcitx5-lotus.gpg
echo "deb [signed-by=/etc/apt/keyrings/fcitx5-lotus.gpg] https://fcitx5-lotus.pages.dev/apt/$CODENAME $CODENAME main" | sudo tee /etc/apt/sources.list.d/fcitx5-lotus.list
sudo apt update && sudo apt install fcitx5-lotus# Tự động nhận diện phiên bản và cài đặt
RELEASEVER=$(grep '^VERSION_ID=' /etc/os-release | cut -d'=' -f2)
sudo rpm --import https://fcitx5-lotus.pages.dev/pubkey.gpg
sudo dnf config-manager addrepo --from-repofile=https://fcitx5-lotus.pages.dev/rpm/fedora/fcitx5-lotus-$RELEASEVER.repo
sudo dnf install fcitx5-lotus# Thêm repo và cài đặt (Tumbleweed)
sudo rpm --import https://fcitx5-lotus.pages.dev/pubkey.gpg
sudo zypper addrepo https://fcitx5-lotus.pages.dev/rpm/opensuse/fcitx5-lotus-tumbleweed.repo
sudo zypper refresh
sudo zypper install fcitx5-lotusThêm input của fcitx5-lotus vào flake.nix:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
fcitx5-lotus = {
url = "github:LotusInputMethod/fcitx5-lotus";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
...
}Bật fcitx5-lotus service trong configuration.nix:
{
inputs,
...
}: {
imports = [
inputs.fcitx5-lotus.nixosModules.fcitx5-lotus
];
services.fcitx5-lotus = {
enable = true;
user = "your_username"; # Sửa thành tên user của bạn
};
}Rebuild lại system để cài đặt.
Tải file .deb hoặc .rpm trực tiếp từ GitHub Releases:
# Debian/Ubuntu
sudo dpkg -i fcitx5-lotus_*.deb# Fedora / openSUSE
sudo rpm -i fcitx5-lotus-*.rpmKHUYẾN CÁO QUAN TRỌNG:
Vui lòng KHÔNG sử dụng cách này nếu distro của bạn đã được hỗ trợ thông qua Cloudflare Pages.
Việc biên dịch thủ công đòi hỏi bạn phải hiểu rõ về cấu trúc thư mục của hệ thống. Nếu bạn gặp lỗi "Not Available" hoặc thiếu thư viện khi cài theo cách này trên các distro phổ biến (Ubuntu/Fedora...), hãy quay lại dùng Cloudflare Pages để đảm bảo tính ổn định và tự động cập nhật.
- Debian/Ubuntu
sudo apt-get install cmake extra-cmake-modules libfcitx5core-dev libfcitx5config-dev libfcitx5utils-dev libinput-dev libudev-dev g++ golang hicolor-icon-theme pkg-config libx11-dev libfcitx5-qt6-dev qt6-base-dev fcitx5-modules-dev- Fedora/RHEL
sudo dnf install cmake extra-cmake-modules fcitx5-devel libinput-devel libudev-devel gcc-c++ golang hicolor-icon-theme systemd-devel libX11-devel fcitx5-qt-devel- openSUSE
sudo zypper install cmake extra-cmake-modules fcitx5-devel libinput-devel systemd-devel gcc-c++ go hicolor-icon-theme systemd-devel libX11-devel udev fcitx5-qt-devel# Clone repository
git clone https://github.com/LotusInputMethod/fcitx5-lotus.git
cd fcitx5-lotus
# Biên dịch
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib . # Tùy vào distro mà LIBDIR sẽ khác nhau
make
# Cài đặt (cần quyền root)
sudo make install
# Hoặc cài đặt vào thư mục tùy chỉnh
sudo make install PREFIX=/usr/localSau khi cài đặt xong, bạn cần thực hiện các bước sau để bật bộ gõ fcitx5-lotus:
💡 Tự động hoá: Nếu bạn cài qua Debian/Ubuntu (
.deb), post-install script sẽ tự động thực hiện các bước 1–3 bên dưới. Sau khi cài đặt, bạn chỉ cần làm tiếp từ bước 4.
Server giúp bộ gõ tương tác với hệ thống tốt hơn (đặc biệt là gửi phím xóa và sửa lỗi).
Bash / Zsh
# Bật và khởi động service (tự động fix lỗi thiếu user systemd nếu có)
sudo systemctl enable --now fcitx5-lotus-server@$(whoami).service || \
(sudo systemd-sysusers && sudo systemctl enable --now fcitx5-lotus-server@$(whoami).service)Fish shell
# Bật và khởi động service (tự động fix lỗi thiếu user systemd nếu có)
sudo systemctl enable --now fcitx5-lotus-server@(whoami).service; or begin
sudo systemd-sysusers; and sudo systemctl enable --now fcitx5-lotus-server@(whoami).service
endKiểm tra status (nếu thấy active (running) là OK):
systemctl status fcitx5-lotus-server@$(whoami).serviceBộ gõ sẽ không hoạt động nếu thiếu các biến này.
Bash
# Thêm cấu hình vào ~/.bash_profile
cat <<EOF >> ~/.bash_profile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx
export GLFW_IM_MODULE=ibus
EOFZsh
# Thêm cấu hình vào ~/.zprofile
cat <<EOF >> ~/.zprofile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx
export GLFW_IM_MODULE=ibus
EOFFish shell
# Thêm cấu hình vào ~/.config/fish/config.fish
echo 'if status is-login
set -Ux GTK_IM_MODULE fcitx
set -Ux QT_IM_MODULE fcitx
set -Ux XMODIFIERS "@im=fcitx"
set -gx SDL_IM_MODULE fcitx
set -gx GLFW_IM_MODULE ibus
end' >> ~/.config/fish/config.fishLog out và log in để áp dụng thay đổi.
Nếu bạn vẫn chưa gõ được sau khi log out
Nếu cấu hình tại ~/.bash_profile, ~/.zprofile hay .config/fish/config.fish không hoạt động, bạn có thể thử thiết lập tại /etc/environment để áp dụng cho toàn bộ hệ thống:
Bash/Zsh
cat <<EOF | sudo tee -a /etc/environment
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
EOFFish shell
echo "GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus" | sudo tee -a /etc/environmentLưu ý: Cần khởi động lại máy sau khi thiết lập.
Nếu máy bạn đang dùng IBus, hãy tắt nó đi trước khi chuyển sang Fcitx5 để tránh xung đột.
# Tắt IBus
killall ibus-daemon || ibus exitLưu ý: Hãy tắt autostart của IBus (thường là
ibus-daemonhoặcibus) để tránh xung đột. Tốt nhất là gỡ cài đặt IBus nếu không sử dụng.
| DE / WM | Hướng dẫn chi tiết |
|---|---|
| GNOME | GNOME Tweaks → Startup Applications → Add → Fcitx 5 |
| KDE Plasma | System Settings → Autostart → Add... → Add Application... → Fcitx 5 |
| Xfce | Settings → Session and Startup → Application Autostart → Add → Fcitx 5 |
| Cinnamon | System Settings → Startup Applications → + → Choose application → Fcitx 5 |
| MATE | Control Center → Startup Applications → Add (Name: Fcitx 5, Command: fcitx5) |
| Pantheon | System Settings → Applications → Startup → Add Startup App... → Fcitx 5 |
| Budgie | Budgie Desktop Settings → Autostart → + → Add application → Fcitx 5 |
| LXQt | LXQt Configuration Center → Session Settings → Autostart → LXQt Autostart → Add (Name: Fcitx 5, Command: fcitx5) |
| COSMIC | COSMIC Settings → Applications → Startup Applications → Add app → Fcitx 5 |
| i3 / Sway | Thêm exec --no-startup-id fcitx5 -d vào file config (~/.config/i3/config hoặc ~/.config/sway/config) |
| Hyprland | Thêm exec-once = fcitx5 -d vào ~/.config/hypr/hyprland.conf |
Sau khi đã log out và log in lại:
- Mở Fcitx5 Configuration (tìm trong menu ứng dụng hoặc chạy
fcitx5-configtool). - Tìm Lotus ở cột bên phải.
- Nhấn mũi tên < để thêm nó sang cột bên trái.
- Apply.
Cấu hình thêm cho Wayland (KDE, Hyprland, Chromium-based, Electron)
- KDE Plasma: System Settings → Keyboard → Virtual Keyboard → Chọn Fcitx 5.
- Hyprland: Thêm dòng sau vào
~/.config/hypr/hyprland.conf:
permission = fcitx5-lotus-server, keyboard, allow- Chromium-based/Electron: Thêm flags sau vào ứng dụng cần chạy:
--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-version=3
Cấu hình thêm cho Kanata
Thêm dòng sau vào file ~/.config/kanata/kanata.kbd
(defcfg
...
linux-dev-names-exclude ("Lotus-Uinput-Server")
...
)Bạn có thể tùy chỉnh các thông số của bộ gõ qua 2 cách sau:
Cách 1: Menu chuột phải (Quick Settings)
Nhấp chuột phải vào biểu tượng Lotus trên system tray để mở nhanh các tùy chỉnh:
| Tùy chọn | Mô tả | Mặc định |
|---|---|---|
| Charset | Chọn bảng mã. | Unicode |
| Spell Check | Bật/tắt kiểm tra lỗi chính tả tiếng Việt. | Bật |
| Macro | Bật/tắt gõ tắt. | Bật |
| Capitalize Macro | Bật/tắt gõ tắt chữ hoa. | Bật |
| Auto non-VN restore | Bật/tắt tự động khôi phục với từ không phải tiếng Việt. | Bật |
Về vấn đề hiển thị icon trên systray của GNOME
Nếu bạn sử dụng GNOME, hãy ưu tiên sử dụng extension AppIndicator and KStatusNotifieritem Support để hiển thị đúng biểu tượng Lotus trên systray, tránh sử dụng Kimpanel
Cách 2: Menu cấu hình Lotus - Fcitx (Advanced Settings)
Nhấp chuột phải vào biểu tượng Lotus hoặc icon Fcitx -> Input Method Settings (Cấu hình bộ gõ) -> Chọn Lotus -> Nhấn biểu tượng Configure (bánh răng) ở giữa.
Hoặc nếu distro của bạn đủ mới để hỗ trợ PySide6, bạn có thể vào biểu tượng Lotus hoặc icon Fcitx -> Settings để mở ứng dụng cấu hình riêng của Lotus.
Tại đây bạn có thể tùy chỉnh chi tiết:
- Gõ tắt / Macro: Nhấn bánh răng cạnh dòng Macro để quản lý danh sách gõ tắt toàn cục.
- Keymap tùy chỉnh: Nhấn bánh răng dòng Custom Keymap để tự định nghĩa phím. Chọn kiểu gõ Custom để áp dụng.
- Phím tắt Menu: Đổi phím nóng mở menu chế độ gõ (mặc định là
`) tại dòng Mode menu hotkey.
| Tùy chọn | Mô tả | Mặc định |
|---|---|---|
| Mode | Chọn chế độ gõ. | Uinput (Smooth) |
| Input Method | Chọn kiểu gõ. Lưu ý: Nếu bạn muốn sử dụng kiểu gõ Telex gõ w -> ư, hãy chọn kiểu gõ Telex W hoặc Telex 2 |
Telex |
| Use oà, uý (Instead Of òa, úy) | Bật/tắt kiểu đặt dấu thanh hiện đại. | Bật |
| Allow Type With More Freedom | Bật/tắt bỏ dấu tự do. | Bật |
| Allow dd To Produce đ When Auto Restore Keys With Invalid Words Is On | Bật/tắt cho phép "dd" tạo "đ" khi dùng Auto non-VN restore. | Bật |
| Fix Uinput Mode With Ack | Khuyên dùng cho ứng dụng Chromium (Chrome, Brave, Edge, ...). | Tắt |
| Use Lotus Status Icons | Dùng icon Lotus thay vì icon V/E mặc định. | Tắt |
Khi con trỏ đang ở trong ô nhập liệu (có thể gõ văn bản), nhấn phím ` (hoặc phím tắt bạn đã tuỳ chỉnh ở trên) để mở menu chọn chế độ gõ; bạn có thể dùng chuột hoặc phím tắt để chọn chế độ mong muốn.
| Chế độ | Phím tắt | Mô tả |
|---|---|---|
| Uinput (Smooth) | 1 | Chế độ mặc định, phản hồi nhanh. Tối ưu: ứng dụng có tốc độ xử lý input cao. |
| Uinput (Slow) | 2 | Tương tự Uinput (Smooth) nhưng tốc độ gửi phím chậm hơn. Tối ưu: ứng dụng có tốc độ xử lý input thấp (ví dụ: Libre Office). |
| Uinput (Hardcore) | 3 | Biến thể của Uinput (Smooth). Tối ưu: ứng dụng Windows qua Wine. |
| Surrounding Text | 4 | Cho phép sửa dấu trên văn bản đã gõ, hoạt động mượt. Tối ưu: ứng dụng Qt/GTK. |
| Preedit | Q | Hiển thị gạch chân khi gõ. Tối ưu: hầu hết ứng dụng. |
| Emoji Picker | W | Tìm kiếm và nhập Emoji (hỗ trợ fuzzy search). |
| OFF | E | Tắt bộ gõ. |
| Default Typing | R | Chế độ gõ mặc định được cấu hình tại tuỳ chọn Typing mode. |
| Type X | X / F | Gõ phím X (nếu phím để bật menu được thiết lập trong Fcitx5 configuration là phím đơn, ví dụ như phím X). |
Bộ gõ sẽ tự động lưu chế độ gõ đã dùng gần nhất cho từng ứng dụng và khôi phục cấu hình đó khi bạn mở lại chúng.
Lotus tương thích với tính năng Quick Phrase có sẵn của Fcitx5 (mặc định dùng Super + `). Bạn có thể nhập nhanh:
- LaTeX: Ký tự toán học (vd:
\alpha→α). - Emoji Code: Biểu tượng cảm xúc (vd:
:smile:→😄). - Emoji: Các đoạn văn bản mẫu hoặc Kaomoji (vd:
smile→(・∀・)).
Nhấp chuột hoặc chạm touchpad trong khi gõ sẽ tự động đặt lại trạng thái đang gõ, ngăn chặn hiện tượng dính ký tự giữa các từ.
💡 Bấm vào phần bên cạnh badge để mở rộng hướng dẫn.
Bạn có thể dùng pacman (khuyên dùng), yay hoặc paru để gỡ cài đặt:
sudo pacman -Rns fcitx5-lotusyay -Rns fcitx5-lotusparu -Rns fcitx5-lotusLưu ý: Các file config ở
$HOMEsẽ được giữ lại.
sudo apt remove fcitx5-lotus
sudo rm /etc/apt/sources.list.d/fcitx5-lotus.list
sudo rm /etc/apt/keyrings/fcitx5-lotus.gpg
sudo apt updatesudo apt remove fcitx5-lotus
sudo rm /etc/apt/sources.list.d/fcitx5-lotus.list
sudo rm /etc/apt/keyrings/fcitx5-lotus.gpg
sudo apt updateXóa (hoặc comment) dòng services.fcitx5-lotus và inputs trong file config, sau đó rebuild lại system. NixOS sẽ tự dọn dẹp.
Gỡ cài đặt tùy theo distro bạn đang sử dụng:
# Debian / Ubuntu
sudo apt remove fcitx5-lotus# Fedora
sudo dnf remove fcitx5-lotus# openSUSE
sudo zypper remove fcitx5-lotusNếu muốn xóa hoàn toàn dữ liệu gõ tắt và cấu hình:
rm -rf ~/.local/share/fcitx5/lotus
rm -rf ~/.config/fcitx5/conf/lotus.confĐóng góp là điều làm cho cộng đồng mã nguồn mở trở thành một nơi tuyệt vời để học hỏi, truyền cảm hứng và sáng tạo. Mọi đóng góp của bạn đều được đánh giá cao.
Vui lòng xem hướng dẫn chi tiết tại đây để biết cách tham gia phát triển dự án, quy trình Pull Request, quy tắc code style và quy tắc ứng xử.
Đừng quên tặng dự án một ⭐! Cảm ơn bạn rất nhiều!
Cảm ơn những con người tuyệt vời (chú thích emoji):
Nguyen Hoang Ky 📝 💻 📖 📆 👀 |
Huỳnh Thiện Lộc 🐛 📖 🎨 🌍 💻 |
Nguyễn Hồng Hiệp 📖 |
Đặng Quang Hiển 📖 💻 |
Zebra2711 🐛 💻 |
||
|
|
||||||
Dự án này tuân thủ cấu trúc của all-contributors. Mọi đóng góp đều được hoan nghênh!
Dự án được phân phối dưới giấy phép GNU General Public License v3. Xem LICENSE để biết thêm chi tiết.