Cài đặt uim-vi trên ArchLinux

Thẻ: , , ,
Tác giả: z1y, luffy
Bài gốc: http://pastebin.com/r7s1nkL4
Bài mẹ: /doc/uim-vi/testing

Bài này mô tả cách cài đặt gói uim-vi, dành cho các bạn muốn thử nghiệm gói này trên ArchLinux. Trong TheSLinux các gói này được cài mặc định và bạn không phải điều chỉnh phức tạp như sau đây.

Lời cảm ơn

Chân thành cảm ơn các bạn:

cùng nhiều bạn khác đã kiểm tra, sử dụng và góp phần phát triển uim-vi.

Tải và cấu hình pacman

Bạn sẽ sử dụng kho dành cho ArchLinux riêng, vui lòng xem hướng dẫn chi tiết tại đây.

Bạn sẽ phải gỡ bỏ một số gói gây xung đột trên hệ thống, ví dụ gói m17n-db hoặc uim. Xem thêm phần kiểm tra.

Các gói cần cài bao gồm:

Các gói thêm (tùy chọn) để dùng với skype gồm có

Những gói này không tự động cài do vấn đề với phần phụ thuộc, nên bạn cần cài đặt thủ công. Lưu ý rằng bạn không nhất thiết cài thêm các gói này để dùng uim-vi với skype.

Lựa chọn gói uim-vi

Có nhiều gói uim-vi như sau:

Cập nhật:

Cài đặt

Dùng pacman để tìm và cài các gói

$ pacman -sS uim-vi
$ pacman -S \
    126-uim-vi \
    m17n-db-vi \
    m17n-lib \
    uim-vi-xtelex \

$ pacman -S [email protected]

Nếu muốn bạn thay uim-vi bởi [email protected].

Sau đó, vào thư mục $HOME và liên kết tới profile mặc định

$ cd $HOME/
$ mkdir -pv ~/.uim.d/ && cd ~/.uim.d/
$ cp -r /usr/share/theslinux/126/uim.d/customs/ ./customs

# nếu bạn dùng Telex và không muốn thay đổi gì, có thể dùng
# $ ln -s /usr/share/theslinux/126/uim.d/customs/

(Nếu đã có thư mục ~/.uim.d trên máy bạn thì bạn có thể xóa đi, hoặc giữ nguyên và không thực hiện bước trên.)

Chỉnh môi trường

Phần lớn các trường hợp không gõ được tiếng Việt với uim-vi là do chỉnh các biến môi trường không đúng hoặc không đúng chỗ. Nên bạn hãy cẩn thận và nếu có lỗi nên bắt đầu từ đây. Trong phần Chú ý bên dưới sẽ chỉ cách bạn kiểm tra thêm.

Người dùng enlightenment

Nếu dùng enlightenment, bạn vào Settings, Settings Panel, vào phần Languages, chọn Input Method Settings rồi chỉ việc chọn uim, rồi đăng nhập hoặc khởi động lại enlightenment.

Người dùng khác

Thêm các biến môi trường sau đây vào /etc/profile, hoặc $HOME/.xprofile, $HOME/.xinitrc (hoặc bất cứ nơi nào mà bạn biết, tùy vào cấu hình chương trình quản lý cửa sổ của bạn; ví dụ, openbox bỏ qua thiết lập trong ~/.profile, và bạn cần đặt các biến vào phần đầu của tập tin autostart.sh có trong thư mục ~/.config/openbox/.)

export GTK_IM_MODULE='uim'
export QT_IM_MODULE='uim'
export XMODIFIERS='@im=uim'

Một số bạn đặt vào trong /etc/profile*, tuy nhiên nên hạn chế điều này, vì đơn giản đó không phải là nơi bình thường để lưu cấu hình.

Các ứng dụng nền

Bạn cần chạy nền hai ứng dụng uim-systrayuim-xim để có thể có thanh hiển thị trạng thái và để gõ được tiếng Việt trên xterm chẳng hạn. Bạn có thể thêm vào $HOME/.xinitrc (nếu bạn dùng enlightenment chẳng hạn, bạn phải cần thêm vào $HOME/.xprofile; xem ví dụ ở đây):

uim-xim &
uim-systray &

Đối với người dùng QT(4), cần chạy chương trình qtconfig-qt4 và lựa chọn kiểu nhập mặc định là uim.

(Một số bạn không sử dụng systray thì không cần dùng uim-systray.)

Thiết lập cho GTK2 (Firefox, …)

Phần này do bạn Ngô-Huy đề nghị (tháng 11/2014).

Thêm vào tập tin ~/.gtkrc-2.0 dòng sau đây

im_module_file "/etc/gtk-2.0/gtk.immodules"

Tuy nhiên, nếu tập tin này được sinh ra tự động, bạn cần đọc hướng dẫn cụ thể trong tập tin đó. Chẳng hạn, khi dùng lxappearance để tùy chỉnh giao diện thì bạn cần thêm vào ~/.gtkrc-2.0.mine dòng ở trên.

Việc điều chỉnh như trên là bắt buộc để gõ tiếng Việt trong nhiều ứng dụng, ví dụ Firefox.

Thiết lập cho ứng dụng Viber

Cập nhật ngày 10/4/2015: Nếu bạn cài viber từ aur, có thể bộ cài của bạn không kèm theo thư viện libQt5Core như đề cập dưới đây. Khi đó, bạn có thể chỉ cần sử dụng libuimplatforminputcontextplugin.so có trong uim-vi mới nhất. Tuy nhiên, cách này không đảm bảo mọi việc. Tốt nhất, bạn nên tự cài viber bằng cách tải về tập tin viber.deb từ trang chủ của viber để có đầy đủ thư viện Qt.

Cập nhật ngày 9/4/2015: Do ứng dụng Viber hiện tại được biên dịch với phiên bản Qt 5.3., trong khi phiên bản mới nhất của uim-vi đuợc biên dịch với Qt 5.4, nên để dùng uim-vi với Viber bạn cần theo dõi kỹ hướng dẫn sau.

Giả sử viber được cài vào thư mục /opt/viber/. Chạy các lệnh sau

# Lưu ý: chỉ có hỗ trợ cho máy 64-bit

$ strings /opt/viber/libQt5Core.so.5 | grep 5\.3 | grep ^Qt
Qt 5.3.1 (Jun 30 2014, GCC 4.6.3, 64 bit, release build)

$ strings /opt/viber/libQt5WebKit.so.5 | grep 5\.3
/libs/qt/5.3.1R/lib

# Nếu đúng là Qt 5.3 như trên, bạn hãy tiếp tục

$ _URL=http://f.theslinux.org/theslinux/p/u/uim-vi/
$ [email protected]_64.pkg.tar.xz
$ _PLUGIN=usr/lib/qt/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so

$ wget $_URL/$_PACKAGE $_URL/$_PACKAGE.sig
$ gpg --veriry $_PACKAGE.sig

$ xz -d -c $_PACKAGE | tar -xf- $_PLUGIN --strip-components=5

$ mkdir -pv /opt/viber/platforminputcontexts
$ rm -fv /opt/viber/platforminputcontexts/$(basename $_PLUGIN)
$ mv -iv $(basename $_PLUGIN) /opt/viber/platforminputcontexts/

Mục đích là để Viber nhận ra thư viện xử lý nhập nào đang được dùng.

Chú ý

Bạn cần gỡ bỏ hoặc tạm thời ngắt các bộ gõ khác có trên máy tính để có thể sử dụng bộ gõ uim-vi. Hãy kiểm tra rằng trên hệ thống của bạn có đúng danh sách các gói như sau đây

$ pacman -Qq | grep -E 'm17|uim'
126-uim-vi
m17n-db-vi
m17n-lib
uim-vi
uim-vi-xtelex

Nếu xuất hiện các gói lạ, ví dụ scim-m17n, m17n-db, bạn cần gỡ các gói này và có thể phải thực hiện lại các bước cài đặt uim-vi từ ban đầu.

Sau khi cài đặt bạn nên đăng nhập lại để bộ gõ mới có tác dụng toàn cục. Từ trên chế độ dòng lệnh, bạn có thể thực hiện lệnh kiểm tra như sau

$ uim-sh -e enabled-im-list ; env |grep =uim
(xtelex xvni direct)
QT_IM_MODULE=uim
[email protected]=uim
GTK_IM_MODULE=uim

Kết quả liệt kê ba kiểu nhập xtelex, xvni và trực tiếp, và sau đó là các biến môi trường cần cho uim-vi. Nếu kết quả không khớp bạn cần kiểm tra lại các bước bạn đã thực hiện.

Thiết lập mặc định

Xem ở http://theslinux.org/doc/uim-vi/126-uim-vi/ . Người dùng VNI cần một chút thay đổi để chọn kiểu gõ mặc định (lưu ý là khi dùng liên kết tượng trưng thì bạn không thay đổi cấu hình uim bằng cách dùng uim-setup được, do các tập tin cấu hình đặt ở chế độ *chỉ đọc*.)

Câu hỏi, hỗ trợ

Trao đổi trên các nhóm thư, kênh irc hoặc ở github.

----
17 commit(s) 1 author(s);
last updated by Ky-Anh Huynh @ Fri Apr 10 11:11:32 2015 +0700

Trang này là một phần của TheSLinux,
 và được phân phối với giấy phép CC BY-SA 3.0.

Bạn được Sao chép, Chia sẻ, Phân phối trang này dưới điều kiện sau:

(1) Bạn phải ghi tên tác giả TheSLinux và giấy phép; tuy nhiên không
    được hàm ý tác giả trao trang này hay quyền sử dụng trang này cho bạn;
(2) Nếu bạn sử dụng, chuyển đổi, hoặc xây dựng dự án từ trang này,
    bạn phải áp dụng giấy phép BY-SA hoặc giấy phép có các điều khoản
    tương tự như giấy phép BY-SA cho dự án của bạn.