-
Notifications
You must be signed in to change notification settings - Fork 96
Không gõ được tiếng việt trên phần mềm `abc xyz`
Bạn đã cài đặt ibus-bamboo nhưng có vẻ như không gõ tiếng Việt? Hãy thực hiện một số bước test dưới đây.
Để thực hiện việc này bạn chỉ cần chạy lệnh sau
ibus-setupNếu ibus chưa được khởi động thì sẽ có một bảng hiện ra hỏi rằng bạn muốn bật ibus không, hãy chọn yes. Sau khi ibus khởi động, chuyển sang engine Vietnamese - Bamboo để có thể gõ tiếng Việt.
Lưu ý: Bạn cần tắt đi và khởi động lại chương trình đang chạy để ibus có hiệu lực
Nếu vấn đề vẫn chưa được xử lý, xem tiếp bước sau.
Hãy chạy lệnh sau để chắc chắc rằng các gói phụ thuộc đã cài đặt đầy đủ:
sudo apt install ibus-gtk ibus-gtk3 ibus-gtk4Sau khi cài đặt, bạn cần thoát đăng nhập và vào lại để thay đổi có hiệu lực.
Điểm khác biệt giữa ibus-bamboo và các bộ gõ khác là ibus-bamboo cung cấp nhiều chế độ gõ khác nhau (tránh nhầm lẫn chế độ gõ với kiểu gõ, các kiểu gõ bao gồm telex, vni, ...). Một số phần mềm có thể hoạt động tốt ở chế độ gõ này nhưng không hoạt động trong chế độ gõ khác.
Để chuyển đổi giữa các chế độ gõ, chỉ cần nhấn vào một khung nhập liệu (một cái hộp để nhập văn bản) nào đó, sau đó nhấn tổ hợp Shift+~, một bảng với những chế độ gõ hiện có sẽ xuất hiện, bạn chỉ cần nhấn phím số tương ứng để lựa chọn.

Hiểu một cách nôm na, trong linux có những biến môi trường mà sẽ quyết định các phần mềm sẽ hoạt động như thế nào. Một số biến môi trường sẽ quyến định rằng input method server nào sẽ được dùng. Để kiểm tra những biến môi trường đó các bạn chạy.
env | grep "IM_MODULE\|XMODIFIERS"Kết quả trả về sẽ có dạng kiểu như:
GTK_IM_MODULE=ibus
QT_IM_MODULE=xim
XMODIFIERS=@im=xim
QT4_IM_MODULE=xim
CLUTTER_IM_MODULE=ximViệc cài đặt biến môi trường là để đảm bảo các phần mềm khác sẽ sử dụng ibus. Để cài đặt các bạn chạy lệnh im-config -n ibus hoặc thêm những dòng sau vào trong file /etc/environment:
GTK_IM_MODULE=ibus
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus
# Dành cho những phần mềm dựa trên qt4
QT4_IM_MODULE=ibus
# Dành cho những phần mềm dùng thư viện đồ họa clutter/OpenGL
CLUTTER_IM_MODULE=ibus
GLFW_IM_MODULE=ibusSau khi thực hiện thay đổi, bạn cần thoát đăng nhập và vào lại để thay đổi có hiệu lực.
Lưu ý:
- Nếu bạn dùng shell khác như
zshthì thay vì.bashrc, hãy thêm vào.zshrc. Tương tự vớifishhay những shell khác. - Nếu setup như trên không được, bạn có thể thử chạy
ibus-daemon -rdx(chạy ibus xim server). - File
.profileđược thực thi khi bạn login vào hệ thống, còn file.bashrcđược thực thi mỗi khi bạn mở terminal và chỉ có hiệu lực trong terminal đó.
Nếu bạn vẫn chưa thể gõ trên một số ứng dụng, hãy thực hiện các bước dưới đây.
- Đặt biến
XMODIFERSnhư sau (nếu bạn mở 1 terminal mới hay chạy 1 shell mới sau khi chạy bước này thì phải chạy lại nhé)
export XMODIFERS=@im=ibus- Chạy lại
ibus-daemonvới tùy chọn sau:
ibus-daemon -rdx- Thay đổi thử các biến khác thành
ibushoặcximxem ibus có hoạt động trên chương trình mà bạn dùng hay không, nhưng phải giữ nguyên biếnXMODIFERS. Ví dụ, mình gặp vấn đề không gõ được trênchromiumvớiteams. Do cả 2 ứng dụng trên dùngchromiumvà dùng GTK, mình sẽ thử trên terminal như sau:
GTK_IM_MODULE=ibus chromium # không gõ được tiếng việt với cửa sổ chromium mới hiện lên
# Nhấn Ctrl + C trên terminal để ngắt
GTK_IM_MODULE=xim # gõ được tiếng Việt- Sau khi thấy rằng việc thay đổi có hiệu lực, bạn thực hiện ghi lại các config vào trong file.
export GTK_IM_MODULE=xim # đổi thành xim
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
# Dành cho những phần mềm dựa trên qt4
export QT4_IM_MODULE=ibus
# Dành cho những phần mềm dùng thư viện đồ họa clutter/OpenGL
export CLUTTER_IM_MODULE=ibus
export GLFW_IM_MODULE=ibus- Logout và login trở lại
Vấn đề biến môi trường thực chất là vấn đề của ibus, bạn có thể xem thêm tại wiki về ibus của Arch Linux*.
Nếu bạn gặp một lỗi khác mà ibus-bamboo gây ra, hãy báo lỗi tại đây