Phần mềm Linux

Ibus Teni – Gõ tiếng việt trên Linux – Khắc phục lỗi bộ gõ ibus-unikey

Bộ gõ ibus-unikey chúng ta hay dùng đã bị ngừng phát triển từ lâu, và anh em than phiền nó quá lắm lỗi vặt mà không biết kêu ai để sửa.

Hôm nay blog xin giới thiệu một bộ gõ “mới cứng” được phát triển bởi tác giả Nguyễn Công Hoàng

A. Cài đặt

Cách 1: Với các máy Ubuntu/Debian

Các bạn mở Terminal và gõ lần lượt các lệnh sau

sudo add-apt-repository ppa:teni-ime/ibus-teni
sudo apt-get update
sudo apt-get install ibus-teni
ibus restart

Cách 2: Cài đặt từ package

Bước 1: Download Package thích hợp với Distro bạn sử dụng từ trang github của tác giả: tại đây

Bước 2: Tùy Distro bạn sử dụng mà gõ lệnh cho phù hợp

  • Ubuntu/Kali/…/Debian: sudo dpkg -i ibus-teni-<version>.deb
  • CentOS/Fedora/…/RedHat: sudo rpm -i ibus-teni-<version>.rpm
  • Manjaro/…/Arch: sudo pacman -U ibus-teni-<version>.tar.gz

Bước 3: Chạy lệnh ibus restart

Cách 3: Cài đặt từ mã nguồn

Bước 1: Cài đặt các package cần thiết

  • go (Centos, Fedora, openSuse,…) hoặc golang (Ubuntu, Debian, ArchLinux,…) để compile
  • libX11-devel hoặc libx11-dev cần cho chức năng “loại trừ ứng dụng”
  • make để chạy Makefile

sudo apt install make golang libx11-dev -y
#hoặc
sudo yum install make go libX11-devel -y

Bước 2: Clone mã nguồn hoặc Download mã nguồn từ Github

  • Clone: git clone https://github.com/teni-ime/ibus-teni.git
  • Download mã nguồn: tại đây

Bước 3: Build và install:  sudo make install

Bước 4: Khởi động lại Ibus:  ibus restart

Khi cần gỡ bỏ gõ lệnh:  sudo make uninstall

B. Cho phép đọc Event chuột

Việc click chuột khi đang gõ khiến cho chữ đang được gõ sẽ bị nhảy đến vị trí mới của con trỏ. ibus-teni có thể xử lý event click chuột bằng cách đọc trực tiếp từ /dev/input/mice, khi click chuột sẽ reset pre-edit và có thể bắt đầu gõ tại vị trí mới bình thường.

Tuy nhiên /dev/input/mice là file của hệ điều hành và người dùng không có quyền đọc nội dung từ file này. Do đó để cho phép ibus-teni xử lý event click chuột cần add user hiện tại vào group input.

Thực hiện lệnh: sudo usermod -a -G input $USER

C. Cấu hình

Sau khi bạn cài đặt xong package. Bạn vẫn chưa thể sử dụng được ngay. Bạn cần làm thêm một vài thao tác sau đây

Ubuntu 17, 18

Bước 1: Từ start menu, gõ “lang” để tìm và mở Language support

Bước 2:

  • Từ start menu, gõ “set” để tìm và mở Settings*
  • Tại danh sách bên trái, bấm vào Region & Language
  • Bấm nút [+] bên dưới Input sources

Bước 3: Gõ “viet”, chọn Vietnamese, chọn Vietnamese(Teni), bấm Add

Ubuntu 16

Bước 1: Từ start menu, gõ “lang” để tìm và mở Language support

Bước 2:

  • Từ start menu, gõ “text” để tìm và mở Text Entry*
  • Bấm nút [+] bên dưới Input sources to use
  • Gõ “viet”, chọn Vietnamese(Teni)(IBus), bấm Add

Các distro khác

Thường có trong Language setting, có thể tìm thấy khi gõ “lang” tại start menu.

  • Gõ “ibus” tại start menu để tìm IBus preferences
  • Chọn tab Input method, bấm nút Add

Bấm vào nút more (3 ô vuông) và gõ “viet”, chọn Vietnamese, chọn Teni, bấm Add

  • Một số distro khác cần phải chỉ định input method bằng biến môi trường, hãy thêm 3 dòng sau vào cuối file ~/.bashrc (mở file này bằng cách chạy lệnh gedit ~/.bashrc)

Thêm hoặc sửa các nội dung sau ở file

export GTK_IM_MODULE=”ibus”
export QT_IM_MODULE=”ibus”
export XMODIFIERS=”@im=ibus”

Cần logout và login lại để có tác dụng.

D. Hướng dẫn góp ý, báo lỗi

1. Là vấn đề, góp ý, hay chỉ là câu hỏi

Nếu là câu hỏi hãy đến với trang FB https://www.facebook.com/teni.ime

  • Câu hỏi công khai, hãy đăng một bài viết
  • Câu hỏi riêng tư, hãy gửi tin nhắn
  • Bạn không dùng FB hoặc tin nhắn FB là không đủ, hãy gửi mail

Bạn nghĩ đó là một vấn đề hoặc bạn muốn góp ý, hãy report Issue. Issue nên gắn 1 trong 2 label sau:

  • Bug (lỗi hoặc có thể là lỗi)
  • Enhancement (góp ý, đề xuất cải tiến)

Trước khi tạo một issue, hãy tìm xem đã có issue như vậy chưa, nếu đã có rồi:

  • Bạn muốn theo dõi issue đó, hãy bấm Subscribe

  • Bạn có thêm chi tiết, hãy comment

2. Tạo một Issue

Hãy suy nghĩ đến các tiêu chí sau khi viết issue:

  • Lịch sự
  • Ngắn gọn
  • Rõ ràng
  • Giải thích các bước tái hiện lỗi
  • Ghi rõ phiên bản OS, Desktop Environment, chương trình bạn sử dụng với bộ gõ
  • Ảnh chụp màn hình sẽ cực kì có ích
  • Mỗi bug tạo 1 issue
  • Tách các ý thành các đoạn riêng biệt

Và cuối cùng là mọi đóng góp của bạn đều được hoan nghênh, “không có bug nào là quá nhỏ để không cần báo cáo”.

Nguồn: Github của tác giả

Visits: 12470