• Thứ Ba, 23/03/2004 16:52 (GMT+7)

    Linux Việt - Vài ghi nhận về Vietkey 3.0

    Một trong những sự kiện tin học gây nhiều chú ý cho người dùng trong năm 2003 là sự ra đời của hệ điều hành (HĐH) thuần Việt VietKey Linux của nhóm tác giả Vietkey Group. HĐH này đã bước lên bục vinh quang nhận giải nhất của cuộc thi Trí Tuệ Việt Nam 2002. Sau đó, phiên bản 3.0 với nhiều nâng cấp vượt trội so với phiên bản nhận giải đã được nhiều nhà sản xuất máy tính Việt Nam chọn cài mặc định vào các máy tính xuất xưởng của họ.

    Một trong những sự kiện tin học gây nhiều chú ý cho người dùng trong năm 2003 là sự ra đời của hệ điều hành (HĐH) thuần Việt VietKey Linux của nhóm tác giả Vietkey Group. HĐH này đã bước lên bục vinh quang nhận giải nhất của cuộc thi Trí Tuệ Việt Nam 2002. Sau đó, phiên bản 3.0 với nhiều nâng cấp vượt trội so với phiên bản nhận giải đã được nhiều nhà sản xuất máy tính Việt Nam chọn cài mặc định vào các máy tính xuất xưởng của họ. Chúng tôi được tặng một bản từ công ty Việt Khang và đã cài đặt, sử dụng thử sơ bộ. Sau đây là một số điểm ghi nhận của chúng tôi sau một số lần cài đặt và sử dụng VietKey Linux 3.0.

    Để bạn đọc dễ theo dõi, chúng tôi xin gợi ý trước công việc Việt hóa một HĐH hay một ứng dụng gồm 2 mảng chính: Việt hóa giao diện với người dùng và Việt hóa chức năng xử lý bên trong. Mảng Việt hóa giao diện phải Việt hóa mọi chuỗi văn bản trong giao tiếp với người dùng, ngay cả trong các cửa sổ cảnh báo hay báo lỗi rất ít khi xuất hiện. Mảng Việt hóa chức năng xử lý bên trong phải Việt hóa mọi chức năng xử lý dữ liệu có liên quan đến chuỗi ký tự như chuyển một chuỗi ký tự từ thường sang hoa hay ngược lại, tìm kiếm chuỗi theo một mẫu tìm kiếm nào đó bất chấp chữ hoa hay thường, sắp xếp các chuỗi theo thứ tự qui định tiếng Việt... Trong 2 mảng Việt hóa trên thì mảng Việt hóa giao diện chỉ mang tính hình thức mặc dù cần nhiều công sức 'cơ bắp', còn mảng Việt hóa chức năng bên trong đòi hỏi nhiều công sức 'trí tuệ' mới thiết yếu và rất cần thiết, nhất là trong bối cảnh hiện nay của nước ta, chuẩn tiếng Việt TCVN 6609 cho phép dùng đồng thời 2 bộ mã tiếng Việt: Unicode dựng sẵn và Unicode tổ hợp. Làm sao để HĐH hay ứng dụng xử lý phải thông minh để xử lý như nhau đối với 2 chuỗi dựng sẵn và tổ hợp miêu tả cùng một nội dung nào đó?

    Các ý kiến ghi nhận của chúng tôi gồm 8 vấn đề sau: bộ đĩa gốc và tài liệu kèm theo, trình cài đặt HĐH; trình gõ phím và font chữ Việt; trình quản lý package; các tiện ích kèm theo HĐH; mức độ Việt hóa của HĐH và các tiện ích, độ ổn định của HĐH và các tiện ích, kết luận.

    1. Bộ đĩa gốc và tài liệu kèm theo

    Bộ Vietkey Linux 3.0 mà chúng tôi nhận được chỉ gồm 1 CD chứa trình cài đặt và các package chứa các file khả thi (executable package) của HĐH và các tiện ích đi kèm. Không có CD tài liệu hướng dẫn qui trình cài đặt, cấu hình thông số cũng như sử dụng HĐH và các tiện ích. Cũng không có CD chứa source code của HĐH và các tiện ích đi kèm để người dùng có thể tham khảo, hiệu chỉnh và phát triển thêm. Như vậy Vietkey Linux 3.0 có số lượng CD quá ít và thiếu so với bản RedHat Linux 9.0 được phân phối đại trà hiện nay gồm 7 CD (3 CD chương trình, 3 CD source code, 1 CD tài liệu), điều này chứng tỏ VietKey Linux đã bỏ nhiều thành phần so với RedHat Linux mà chúng ta sẽ đề cập cụ thể trong các mục sau. Sở dĩ chúng tôi so sánh với RedHat Linux là vì hầu hết các package của VietKey Linux đều Việt hóa từ package gốc của RedHat Linux, nhận định này xuất phát từ việc chữ 'RedHat' thường xuyên được hiển thị trong quá trình cài đặt và sử dụng HĐH cũng như các tiện ích đi kèm.

    2. Trình cài đặt HĐH
    Trình cài đặt VIETKEY Linux 3.0 là bản Việt hóa giao diện từ trình cài đặt của Redhat (có lẽ là version 7.x). Mặc dù đa số các chuỗi thông báo được Việt hóa nhưng vẫn còn khá nhiều thông báo gốc bằng tiếng Anh, nhất là các chuỗi cảnh báo hay báo lỗi về một chức năng nào đó. Ngay trong màn hình văn bản 'log events' đầu tiên của trình cài đặt, người dùng thấy ngay các thông báo gốc tiếng Anh được hiển thị lẫn lộn với các thông báo Việt hóa, tình trạng này tiếp tục diễn ra trong suốt quá trình cài đặt (cũng như quá trình sử dụng sau đó). Khi cài được khoảng 80% các package thì màn hình báo đã hoàn thành cài đặt và cám ơn người dùng, điều này làm người cài đặt bối rối vì nếu máy bị trục trặc trong khi cài đặt phần còn lại thì liệu họ có chạy được VietKey Linux không?

    Sau khi cài đặt xong, mỗi lần boot máy để sử dụng, nếu quan sát kỹ thì thấy các device driver (trình điều khiển thiết bị) quản lý cổng USB báo lỗi không quản lý được cổng USB, do đó người dùng không thể dùng bất kỳ thiết bị USB nào với VietKeyLinux 3.0 cả (lỗi này xuất hiện trên 2 máy cài đặt của chúng tôi mặc dù nếu cài Redhat Linux lên 2 máy này thì driver USB chạy tốt và quản lý được các thiết bị USB).

    3. Trình gõ phím và font chữ
    HĐH viết hoa cần có 2 thành phần cơ bản: module nhập liệu tiếng Việt và các font chữ tiếng Việt. Vietkey Linux 3.0 không hiệu chỉnh lại keyboard driver gốc của Linux mà sử dụng một ứng dụng độc lập để phục vụ gõ phím tiếng Việt. Đây là ứng dụng xvnkb version 0.2.7 do công ty Tư Vấn & Phát Triển Phần Mềm VISC viết, chưa đủ mạnh vì cung cấp quá ít các kiểu gõ và sinh ra quá ít mã tiếng Việt, hơn nữa việc nhập chữ Việt hoa có dấu rất khó, phải ấn/thả liên tục nút Shift trong quá trình nhập từng ký tự chữ hoa có dấu.

    Riêng về font chữ thì hiện trạng thật đáng buồn vì Vietkey Linux không hiệu chỉnh lại font chữ gốc nào cả, mà hầu như tất cả font gốc của Linux lại chưa hỗ trợ các ký tự Việt có dấu, có thể vì lý do này mà VietKey Linux đành vay mượn các font chữ TrueType của Microsoft Windows như Arial, Times New Roman, Courier New, Verdana, Tahoma, tuy nhiên việc vay mượn này có thể gặp phiền hà về tính pháp lý nếu VietKey Linux chưa có thỏa thuận rõ ràng với Microsoft. Ngoài các font vay mượn của Windows hỗ trợ quá tốt tiếng Việt, có 2 font gốc của Linux là font Fixed, Monospace cũng hỗ trợ khá tốt tiếng Việt. Một điều 'kỳ lạ' là Vietkey Linux còn định nghĩa một số tên font khác nhưng ở dạng 'shortcut' chỉ đến font Monospace như font Sans, Serif, Miscfixed, Dingbats, Cursor, điều này chứng tỏ người định nghĩa font có kiến thức rất hạn chế về font chữ vì font Sans có dạng chữ không nét chân, trong khi font Serif dùng dạng chữ có nét chân,... Chính vì các font chữ gốc của Linux chưa Việt hóa và một số form giao diện của một số ứng dụng dùng mặc định các font chữ này, nhưng nhóm tác giả chỉ Việt hóa nội dung hiển thị mà không hiệu chỉnh tên font được dùng nên khi các form của các ứng dụng này được hiển thị thì người dùng chỉ thấy chuỗi 'tiếng Phạn' chứ không thấy được chuỗi tiếng Việt đúng.

    4. Trình quản lý Package

    Một trong các ứng dụng thiết yếu nhất của Linux là trình quản lý package (chọn menu K.Công cụ hệ thống.Thiết lập cấu hình của Redhat.Thêm/Loại bỏ ứng dụng), đây là tiện ích cho phép người dùng thêm/bớt các package chứa các thành phần của HĐH cũng như các ứng dụng khác vào hệ thống. Tuy nhiên Vietkey Linux vay mượn ứng dụng này từ bộ Linux Redhat 9.0 rồi chỉ Việt hóa phần giao diện chứ không hiệu chỉnh lại ứng dụng cho phù hợp với tình trạng của Vietkey Linux nên kết quả là khi người dùng chạy ứng dụng này để thêm 1 package nào đó thì đều bị báo lỗi và yêu cầu đưa CD Linux Redhat 9.0 vào. Đối với package đã được cài đặt trong quá trình cài đặt Vietkey Linux mà còn thiếu một vài thành phần, nếu người dùng chọn cài thêm các thành phần này máy cũng báo lỗi và yêu cầu đưa CD Linux Redhat 9.0 vào. Nếu chọn tuần tự từng package chưa được cài đặt từ trên xuống, ta thấy Vietkey Linux đã bỏ các package phần mềm khá thiết yếu sau đây:

        Package 'X Window system' chứa các hàm chức năng cơ bản của hệ thống quản lý đồ họa X-Windows.

    o     Package 'GNOME Desktop Environment' chứa các module phần mềm quản lý màn hình desktop theo chuẩn GNOME, chính vì thiếu package này nên trên VietkeyLinux 3.0 ta không thể dùng giao diện GNOME như các bộ Linux nước ngoài thường cung cấp mà buộc phải dùng giao diện KDE.

    o     Package 'Editors' chứa một số tiện ích soạn thảo văn bản, đồ họa... như Emacs, Vi...

    o     Package 'Engineering & Scientific' chứa các tiện ích tính toán toán học và kỹ thuật, tiện ích vẽ...

        Package 'Text-based Internet' chứa các tiện ích truy xuất Internet dạng text-only, chứ không đòi hỏi môi trường X-Windows.

    o     Package 'Sound & Video' chứa các tiện ích về multimedia, tiện ích đọc/ghi CD...

        Package 'Authoring & Publishing' chứa các tiện ích tạo tài liệu theo format DocBook và chuyển đổi tài liệu sang format phổ biến như HTML, PDF,..

         Package 'Game & Entertainment' chứa các tiện ích trò chơi giải trí.

         Package 'Web server' chứa trình Web server.

        Package 'DNS Name Server' chứa trình server quản lý tên miền DNS.

        Package 'SQL Database Server' chứa trình mySQL server để quản lý databasse.

    o      Package 'News Server' chứa trình server quản lý tạp chí điện tử trên Internet.

    o      Package 'Development Tools' chứa các cộng cụ lập trình cơ bản như trình biên dịch ngôn ngữ C, C++, Perl, Python,...

    o      Package 'Kernel Development' chứa các công cụ phục vụ hiệu chỉnh và biên dịch lại nhân HĐH Linux.

    o      Package 'X Software development' chứa các công cụ phục vụ phát triển ứng dụng đồ họa trên X-Windows.

        Package 'GNOME Software develop-ment' chứa các công cụ phục vụ phát triển ứng dụng đồ họa trên desktop GNOME.

        Package 'KDE Software development' chứa các công cụ phục vụ phát triển ứng dụng đồ họa trên desktop KDE như KDE Develop, Qt Designer...

    o     Package 'Printing Support' chứa các tiện ích phục vụ quản lý in ấn và làm server in ấn.
    Tóm lại Vietkey Linux 3.0 đã bỏ quá nhiều Package thiết yếu mà bất kỳ bản Linux nào cũng có khiến người dùng không thể làm việc gì nhiều trên Vietkey Linux 3.0: bạn không thể hiệu chỉnh lại kernel của Linux theo yêu cầu riêng, không thể lập trình ứng dụng bằng KDE hay Qt, không thể cài và dùng các server mạng như Web server, DNS server, News server, không thể thiết lập máy làm server in ấn, không thể ghi CD...

    5. Các ứng dụng
    Các ứng dụng ít ỏi còn giữ lại thì một số đã được viết hóa phần giao diện, một số vẫn để nguyên bản gốc. Ngay cả các ứng dụng có Việt hóa giao diện thì mức độ Việt hóa cũng chưa triệt để, trong menu bar hay trong menu popup ta thường thấy tình trạng một số phần tử được Việt hóa, một số khác thì vẫn để nguyên bản gốc tiếng Anh, còn các thông báo sai hay cảnh báo của các ứng dụng thì hầu như chưa Việt hóa.

    6. Mức độ việt hóa của VietKey Linux 3.0
    Như phần đầu đã trình bày, việc Việt hóa HĐH hay một ứng dụng bất kỳ gồm 2 mảng chính: Việt hóa giao diện với người dùng và Việt hóa chức năng xử lý bên trong. Nếu xét riêng từng mảng Việt hóa trên thì Vietkey Linux 3.0 chỉ mới dừng lại ở mảng Việt hóa giao diện, nhưng cũng chỉ ở mức chưa hoàn tất vì còn nhiều phần tử giao diện vẫn xuất hiện nguyên văn tiếng Anh làm cho người dùng cảm thấy có gì đó chưa nghiêm túc. Với mức độ Việt hóa như hiện nay thì chưa đáp ứng được lớp người dùng không biết tiếng Anh, nhưng lại làm cho lớp người biết tiếng Anh khó dùng hơn so với bản Linux gốc. Mặc dù Việt hóa giao diện tốn khá nhiều thời gian và công sức nhưng chỉ cần công sức 'cơ bắp', hơn nữa mảng này không phải là thiết yếu của HĐH hay của ứng dụng.

    Mảng Việt hóa chức năng xử lý bên trong mới là mảng thiết yếu nhất của HĐH hay của ứng dụng nhưng nhóm thực hiện Vietkey Linux 3.0 chưa để ý và thực hiện gì cho mảng này cả. Việc Việt hóa chức năng xử lý có thể nằm ở 2 cấp độ:

    Cấp độ hệ thống, nghĩa là phải Việt-hóa các hàm thư viện của HĐH và/hoặc của môi trường phát triển ứng dụng để mọi ứng dụng dùng chung các hàm thư viện này trong việc xử lý tiếng Việt. Đây là cấp độ cần thực hiện nhất vì tốn ít chi phí nhất và kết quả sẽ được dùng chung cho mọi ứng dụng, nhờ đó tạo ra được tính nhất quán cao trong xử lý chuỗi tiếng Việt của các ứng dụng. May mắn cho chúng ta là Linux là HĐH mở và hỗ trợ đa ngôn ngữ, nó có thể được cấu hình để hoạt động trên bất kỳ ngôn ngữ nào. Việc cấu hình để Linux làm việc trên một ngôn ngữ cụ thể nào đó (thí dụ tiếng Việt) rất đơn giản, ta chỉ cần định nghĩa các thông tin 'locale' miêu tả các đặc điểm của ngôn ngữ như cách biểu diễn ngày/giờ, ký hiệu tiền tệ, tập ký tự được dùng, ký tự nào là hoa của ký tự nào, thứ tự sắp xếp các ký tự ra sao... Nói chung để cấu hình cho Linux xử lý đúng 1 ngôn ngữ nào đó, người dùng chỉ cần tốn thời gian để định nghĩa 'locale' cho ngôn ngữ của mình rồi khai báo cho HĐH dùng locale này, mà việc này chỉ cần thực hiện bởi 1 người rồi nhân bản locale này cho nhiều người dùng khác. Đúng ra nhóm thực hiện Vietkey Linux phải biết tính chất này của Linux và phải định nghĩa locale cho tiếng Việt theo chuẩn TCVN 6609 (hiện nay Vietkey Linux dùng lại locale 'vi_VN.UTF-8' của bản Linux gốc, locale này chỉ đúng cho bộ mã TCVN 5712 chứ không đúng cho bộ mã Unicode).

      Cấp độ ứng dụng, nghĩa là việc xử lý chuỗi được thực hiện theo các giải thuật riêng của ứng dụng đó mà không nhờ đến HĐH. Có nhiều ứng dụng giải quyết theo cách này vì chúng không tin tưởng HĐH làm tốt công việc xử lý chuỗi, thí dụ như bộ OpenOffice, KOffice... Hiện tại các ứng dụng này cũng xử lý chuỗi dựa trên ý tưởng 'locale' để dễ dàng toàn cầu hóa nhưng mỗi ứng dụng dùng cấu trúc riêng để chứa thông tin locale. Để Việt hóa ở cấp độ này, ta buộc phải Việt hóa tuần tự từng ứng dụng một, như vậy công sức bỏ ra rất lớn và không có điểm dừng vì nếu có ứng dụng mới thì xử lý chuỗi theo kiểu này ta phải Việt hóa tiếp. Tuy nhiên việc Việt hóa từng ứng dụng cũng không phải khó khăn lắm vì các ứng dụng trên Linux đều thuộc dạng 'open source code'. Thực tế, trong một số đồ án môn học cho sinh viên, chúng tôi đã cho sinh viên Việt hóa các ứng dụng trên Linux như KOffice, KWrite... và họ đã hoàn thành rất tốt yêu cầu đặt ra, kết quả các ứng dụng sau khi Việt hóa đã chạy rất tốt: hiển thị giao diện tiếng Việt và xử lý tiếng Việt đúng theo yêu cầu đặt ra.

    7. Độ ổn định
    Chúng tôi chưa sử dụng nhiều nên khó lòng đánh giá chính xác độ ổn định của VietKey Linux 3.0. Tuy nhiên sau một số lần sử dụng, chúng tôi thường gặp hiện tượng hệ thống và ứng dụng bị chậm xuống thấy rõ, thời gian đáp ứng với người dùng rất chậm, thậm chí máy bị treo và chỉ còn cách khởi động lại.

    Khi shutdown HĐH, ngay sau khi màn hình chuyển từ chế độ đồ họa sang văn bản thô thì rất ít khi hiển thị được tiếng Việt ngay, đa số trường hợp các thông báo tiếng Việt đầu tiên không được hiển thị đúng, người dùng chỉ thấy các ký tự mã utf8.

    8. Kết luận
    Với những gì đã trình bày, có thể kết luận rằng Vietkey Linux 3.0 chỉ mới dừng lại ở mảng Việt hóa giao diện nhưng còn  chưa hoàn tất mảng này, trong khi đó mảng Việt hóa thiết yếu nhất là Việt hóa chức năng xử lý chuỗi thì chưa hề chú ý và thực hiện. Với mức độ Việt hóa như trên, chưa thể gọi HĐH Vietkey Linux 3.0 là 1 'HĐH thuần Việt'. Một yếu điểm nữa của Vietkey Linux 3.0 là đã loại bỏ quá nhiều package phần mềm thiết yếu cho người dùng khiến nó trở nên 'yếu ớt', chỉ đủ để chạy 'demo' chứ chưa đủ để làm việc thật sự như những bản Linux phổ biến khác như Redhat, Mandrake... Nhóm tác giả đã bỏ ra nhiều công sức để Việt hóa chỉ phần giao diện nên kết quả đem lại chưa tương xứng với công sức bỏ ra. Nếu nhóm tác giả tập trung hơn cho mảng Việt hóa chức năng xử lý bên trong đồng thời với việc hoàn chỉnh giao diện thì kết quả sẽ có giá trị hơn nhiều.ÿ

    TS. Nguyễn Văn Hiệp

     

    ID: A0403_68