BambooEngine / ibus-bamboo

Bộ gõ tiếng Việt cho Linux
GNU General Public License v3.0
1.16k stars 75 forks source link

Hướng dẫn build Ibus-Bamboo trên FreeBSD #347

Open zenfas opened 1 year ago

zenfas commented 1 year ago

Hiện trên FreeBSD chỉ có thể gõ tiếng Việt thông qua ibus-m17n hoặc fcitx-m17n, nhờ tác giả hỗ trợ hướng dẫn để build và dùng được trên FreeBSD

ghost commented 1 year ago

@luongthanhlam Cũng không liên quan lắm nhưng mà mình cũng dùng OpenBSD và đang cố để làm nó hoạt động trên đây. Mình cần được giúp đỡ khi làm cho nó hoạt động trên OpenBSD. Về cơ bản là mình đã build nó thành công nhưng mà mình loay hoay mãi vẫn không làm nó hoạt động được. Mình không hiểu sao mỗi lần mình chuyển sang bộ gõ tiếng Việt thì nó chỉ xuất hiện 1 giây và sau đó ibus bị freeze và buộc mình phải restart ibus lại

Mã nguồn ở đây: https://github.com/hopingstar1806/ibus-bamboo

johndo100 commented 1 year ago

Tình hình sao rồi các bác. Em vẫn đang dùng cái có sẵn.

goatastronaut0212 commented 1 year ago

Mình hiện là sinh viên nhưng cũng muốn đóng góp gì đó mình có 1 chút kinh nghiệm với Go, cũng có 1 số kinh nghiệm với C và Makefile. Mình thấy @hopingstar1806 làm nó build đc nhưng nó không hoạt động. Mình sẽ thử debug lại trên FreeBSD trước vì OpenBSD không có debugger ngon lắm như delve chẳng hạn. Nếu có thông báo gì thì mình sẽ báo lại sau.

chúc mình may mắn đi

goatastronaut0212 commented 1 year ago

Tin tốt. Mình không phải động tay quá nhiều vào debug phần mềm chủ yếu là chỉnh lại các đường dẫn, update godbus lên phiên bản mới nhất. Hiện tại trên FreeBSD có thể viết được tiếng Việt bằng ibus-bamboo.

Mình không chắc có lỗi hay không nhưng nếu bất cứ ai muốn test repo của mình thì các bạn có thể clone repo của mình về ở đây miễn là các bạn có pkgconf gmake ibus go gcc. Di chuyển vô thư mục rồi dùng lệnh gmake install với quyền root thì sẽ thành công.

Mình có lẽ cần thêm 1 thời gian nữa vì phải giải quyết vấn đề cuộc sống của mình trước khi có thể tạo PR hoàn chỉnh cho FreeBSD nên hiện đây sẽ là giải pháp tạm thời cho những bạn nào cần trước khi mình quay lại.

s0m3sushi commented 6 months ago

https://github.com/BambooEngine/ibus-bamboo/assets/30410170/9852edc9-bbb4-4b8c-9b25-2e6af5d8c811

Phiên bản của @goatastronaut0212 hoạt động tốt nhé, ngoại trừ khi sử dụng phần mềm thông qua Linuxulator. Mình đã thử set biến trong /compat/linux/etc/environment rồi nhưng không có gì thay đổi cả. Video trên cho thấy Chrome chạy qua Linuxulator và HandBrake chạy qua native. Chuyển sang vt mình thấy ibus báo lỗi rằng chrome không hỗ trợ tính năng surrounding-text.

goatastronaut0212 commented 6 months ago

2023-12-13.23-06-26.mp4

Phiên bản của @goatastronaut0212 hoạt động tốt nhé, ngoại trừ khi sử dụng phần mềm thông qua Linuxulator. Mình đã thử set biến trong /compat/linux/etc/environment rồi nhưng không có gì thay đổi cả. Video trên cho thấy Chrome chạy qua Linuxulator và HandBrake chạy qua native. Chuyển sang vt mình thấy ibus báo lỗi rằng chrome không hỗ trợ tính năng surrounding-text.

Cái đó mình sẽ cố gắng sửa sau. Lần cuối mình thử thì cũng còn 1 lỗi khá là ngớ ngẩn khi nó cứ lấy vị trí của chuột liên tục nếu như bạn gõ tiếng việt quá nhanh. Mình không rõ là bạn có gặp vấn đề đó không nhưng tình hình hiện tại là có thể 1 PR hoàn chỉnh sẽ còn khá là dài. Dù sao thì mình cũng sẽ quay lại làm tiếp.

goatastronaut0212 commented 6 months ago

mình có update code bên repo mình rồi. Bạn có thể test giúp mình được không? Không biết bạn có gặp lỗi chuột không thể dùng được sau khi gõ giống như mình vì mình gõ nhanh thì chuột nó sẽ bị lỗi đó. @s0m3sushi

Bạn chỉ cần bỏ comment dòng 32, 33, 47, với comment lại dòng 46 trong Makefile thì bạn có thể dùng lệnh gmake install được rồi

s0m3sushi commented 6 months ago

2023-12-15_1337x132 Mình đang gặp lỗi này bạn nhé @goatastronaut0212

goatastronaut0212 commented 6 months ago

Nó không nên xảy ra lỗi này. Nó bị gì đó khi cố lấy thư viện về trong thư mục ~/go. bạn thử không đăng nhập vào người dùng root và thay vào bạn hãy đó thử dùng các phần mềm cấp quyền khác sudo hoặc doas để chạy lại lệnh thử xem. @s0m3sushi

s0m3sushi commented 6 months ago

Mình đã thử doas rồi nhưng vẫn xảy ra lỗi này. Để mình thử rollback trở về snapshot hồi mình mới cài ibus xem sao.

goatastronaut0212 commented 6 months ago

có lẽ hình như mình test lại có vẻ như dùng mỗi lệnh sudo là được còn doasvới quyền root thì không. Có lẽ mình sẽ cần phải xem lại tại sao go module lại bị như vậy @s0m3sushi

s0m3sushi commented 6 months ago

Mình đã thử lại sau khi rollback và mình vẫn gặp lỗi đấy nhé, nếu mình chạy gmake install thông qua user thông thường thì code sẽ đc compile như bình thường, nhưng sẽ fail khi nó cài các file như icon và json vì thiếu quyền của root. Có lẽ đây là do doas hoạt động khác sudo. @goatastronaut0212

goatastronaut0212 commented 6 months ago

@s0m3sushi Nó có vẻ không phải là lỗi của mình để mình sửa, đó có vẻ là tính năng của Go module rồi (giải thích thêm vì trình quản lý gói của Go chỉ đơn giản là có thêm Git). Về cơ bản bạn có thể cung cấp cho git với option [safe] cho directory chứa đường dẫn source code để build trong .gitignore ở thư mục /home/root để build thành công cho doas và root user. Có lẽ sudo tuy được cấp quyền nhưng việc nó quản lý vẫn ở thư mục home của bạn còn doas sẽ giống như root mọi thứ sẽ nằm trong thư mục /home/root của nó. Nếu không muốn phải động tay vô cái thư mục /home/root thì việc còn lại chỉ là tách Makefile ra 2 quá trình khác nhau thôi

gmake build sẽ build mà không cần quyền.

còn gmake install sẽ không còn build nữa mà chỉ là install thôi với quyền root là xong rồi.

s0m3sushi commented 6 months ago

https://github.com/BambooEngine/ibus-bamboo/assets/30410170/a4e900f2-db2d-427a-9975-f7e0660aed9b

Mình su sang root, git clone từ đầu, rồi cài từ đấy, có vẻ cách này đã khắc phục vấn đề build. Mình đang thấy vấn đề liên quan đến chuột mà bạn nhắc đến. Chuột bấm không hề register một tí gì luôn. Mình vẫn chưa dùng đc ibus trên Chrome nhé. Chrome vẫn chưa nhận đc ibus và vẫn còn cái lỗi surrounding text.

s0m3sushi commented 5 months ago

@goatastronaut0212 bạn đã có tiến triển gì với cái này chưa nhỉ, không biết cái nhánh go-module của bạn đã dùng đc cho FreeBSD chưa?

goatastronaut0212 commented 5 months ago

@goatastronaut0212 bạn đã có tiến triển gì với cái này chưa nhỉ, không biết cái nhánh go-module của bạn đã dùng đc cho FreeBSD chưa?

Lần cuối mình thử nhánh bsd-dev có lẽ vẫn build ổn mà. Nhưng có lẽ bạn sẽ phải đợi cho đến khi PR go-module được merge vào (có thể là vào tháng 4 khi Ubuntu release 1 bản). Hiện tại mình cũng chưa có nhiều kiến thức về C và lập trình Unix nên mình cũng chưa thể tiếp tục công việc được. Chỉ có FreeBSD là build được nhưng chạy còn chưa ổn còn các BSD khác thì phải vọc khá là nhiều.

goatastronaut0212 commented 3 months ago

2023-12-16.16-11-14.mp4 Mình su sang root, git clone từ đầu, rồi cài từ đấy, có vẻ cách này đã khắc phục vấn đề build. Mình đang thấy vấn đề liên quan đến chuột mà bạn nhắc đến. Chuột bấm không hề register một tí gì luôn. Mình vẫn chưa dùng đc ibus trên Chrome nhé. Chrome vẫn chưa nhận đc ibus và vẫn còn cái lỗi surrounding text.

À, mình quên note về cái vấn đề chuột này, mình nghĩ chắc nếu ai đó muốn sử dụng ibus-bamboo nên tạm thời tắt tính năng bắt sự kiện chuột của ibus-bamboo thì có vẻ sẽ trải nghiệm sẽ tốt hơn và không có lỗi chuột nữa. Mình sẽ dành thời gian để fix nó trên FreeBSD sau.