Làm chủ bộ gõ tiếng việt trên linux

Newsun

Believe in Good
Thành viên thân thiết
Tham gia
20/4/2008
Bài viết
9.433
xvnkb là bộ gõ được người dùng linux dùng nhiều mặc dù ubuntu cũng như FC 7 đã tích hợp sẵn bộ gõ SCIM nhưng theo nhiều người dùng thì nó cùi bắp quá, không sánh bằng xvnkb. Còn x-unikey thì không ổn định mặc dù anh em của nó trên windown đang được ưa chuộng nhất.

Từ lúc làm quen với chú chim cánh cụt đến bây giờ, qua khá nhiều distro Linux nhưng bộ gõ tiếng Việt duy nhất mà tôi dùng là xvnkb của tác giả Đào Hải Lâm. Một điểm khác biệt của xvnkb so với các bộ gõ khác (x-unikey, SCIM …) là việc lưu lại các thiết lập (kiểu gõ, bộ mã, phím tắt …) cho session sau hơi bị tricky nên có nhiều người không biết (tôi nhớ không lầm thì cách đây khoảng 2 năm tôi dùng hình như là không bị cái trick này). Trước đây tôi vẫn hay phàn nàn về cái trick này với những người dùng xvnkb khác nhưng lười tìm cách fix nên vẫn để vậy dùng, cho đến hôm qua thì ông sếp tôi nhờ xử lí vụ này cho ổng và để còn triển khai cho khách hàng nên tôi mới bắt tay vào xem thử. Tôi cũng đã từng nghĩ tới việc xử lí lỗi này và tưởng tượng mình phải ha.ck vào mã nguồn thì may ra mới có thể xử lý nó (một điều thú vị là cũng có những đàn anh trong nghề nghĩ giống tôi, có người còn đọc mã nguồn đến đoạn xvnkb tải các thiết lập cấu hình lên nhưng chưa bắt tay vào sửa!)

Đầu tiên, Google cho tôi biết là xvnkb có một file cấu hình trong thư mục /home/<username> là .xvnkbrc để lưu trữ các thiết lập, và tôi chắc với bạn 100% là bạn không thể tìm thấy file này trong Ubuntu 7.04 (hình như là các phiên bản trước cũng vậy, tôi không nhớ rõ). Không thành vấn đề, vậy thì tạo ra, nội dung file như sau:

top 0
left 0
method 2
enable 1
charset 5
spelling 1
interface 1
docking 1
font helvetica:size=10:style=bold
hotkey Control Shift_L

File cấu hình trên hoạt động khá tốt với tôi, với thiết lập: kiểu gõ TELEX, bộ mã Unicode, giao diện tiếng Việt, dock vào system tray, phím tắt chuyển đổi là Control - Shift left. Vâng, khá tốt, chỉ trừ một điểm là giao diện xvnkb … không hề xuất hiện, trên desktop hoặc trên system tray cũng không! Đây cũng là một giải pháp cho người dùng cuối không quan tâm đến việc xvnkb có hiển thị trước mặt họ hay không, vì bộ gõ vẫn hoạt động tốt, và chỉ bằng thao tác Control - Shift left là ta có thể bật/tắt chế độ gõ tiếng Việt mà không cần phải biết là có một xvnkb đang chạy (dùng lệnh ps vẫn có thể thấy). Có thể sau này triển khai cho khách hàng hoặc người khác dùng tôi sẽ dùng cách này, nhưng với tôi thì tôi không thích như vậy. Ngoài bất tiện khi muốn thay đổi cấu hình (vào chỉnh lại file .xvnkbrc và login vào lại) thì điều làm tôi khó chịu nhất là xvnkb không hoạt động đúng như mình muốn trong file .xvnkbrc.

Mày mò một lúc thì tôi phát hiện ra do bật tham số docking trong file cấu hình đã gây nên hiện tượng này. Tôi quay sang thử xem việc khởi động xvnkb bằng dòng lệnh có hỗ trợ các tùy chọn gì không. Sau khi chạy xvnkb với tham số “–help” tôi thấy được nó có các tùy chọn –method và –charset. Tôi nảy ra một ý là sẽ cho xvnkb khởi động lên khi login với tham số –method và –charset được quy định sẵn. Mở file .bashrc, tôi thêm vào dòng sau:

xvnkb –method=telex –charset=utf8

Lúc này trong file .xvnkbrc tôi bỏ hai tham số đó đi. Để ngăn ngừa việc khởi động trùng lặp, tôi move file 60xvnkb_startup ra khỏi thư mục /etc/X11/XSession.d. Restart X (phím tắt: Alt-Ctrl-Backspace), xvnkb đã chạy theo mong muốn.

Bài học rút ra từ vụ này: KISS - Keep It Simple, Stupid!

Đông Thao
Blog Hodawa
 
×
Quay lại
Top