ibus

IBus (Intelligent Input Bus) là một input method framework (bộ khung nhập liệu) dành cho Linux, cho phép bạn gõ tiếng Việt, tiếng Nhật, Trung, Hàn, emoji… trên bất kỳ ứng dụng nào.

Nói đơn giản:

IBus là phần mềm trung gian giữa bàn phím và ứng dụng, giúp bạn gõ ra ký tự phức tạp, ví dụ như “chào bạn” thay vì "chaof baajn".

IBus gồm 3 thành phần chính:

Thành phần Vai trò
IBus daemon Chạy nền, xử lý tín hiệu bàn phím và gửi đến ứng dụng
Input engines Mỗi loại gõ (unikey, mozc, anthy…) là một "engine" cắm vào IBus
Frontend UI (thanh gợi ý, cài đặt) để bạn chọn kiểu gõ, layout, v.v.

Ví dụ khi gõ tiếng Việt với IBus-Unikey:

  1. Bạn gõ xinchao
  2. IBus-daemon bắt được tín hiệu
  3. Engine IBus-Unikey xử lý, biến xinchaoxin chào
  4. Ứng dụng như Firefox, Gedit nhận được chuỗi "xin chào" từ D-Bus

Các input engine phổ biến dùng với IBus:

Engine Ngôn ngữ Package
ibus-unikey Tiếng Việt ibus-unikey (PPA/Arch AUR)
ibus-mozc Nhật ibus-mozc
ibus-anthy Nhật ibus-anthy
ibus-table Hán tự… ibus-table + bảng cụ thể

Các lệnh hữu ích với IBus:

# Kiểm tra IBus đang chạy chưa
ibus engine

# Chọn engine Unikey
ibus engine unikey

# Khởi động lại daemon IBus
ibus restart

Các hệ thống framework khác ngoài IBus:

Framework Ghi chú
IBus Mặc định phổ biến nhất, tương thích tốt
Fcitx Linh hoạt hơn, tốt cho tiếng Trung, Nhật
uim Cũ hơn, ít phổ biến

Vấn đề với Snap apps:

Do Snap giới hạn giao tiếp giữa app và daemon (như D-Bus), nên IBus đôi khi không hoạt động trong ứng dụng cài bằng Snap (như Brave, Slack...).