• Thứ Năm, 02/12/2004 10:26 (GMT+7)

    HĐH Linux: Chọn giao diện cho Linux

    Khác với thế giới Microsoft, hệ điều hành Linux cho phép người dùng có nhiều chọn lựa hơn, tùy yêu cầu riêng, đối với môi trường làm việc đồ hoạ (GUI) hay từ quen dùng của thế giới Windows là màn hình desktop.

    Khác với thế giới Microsoft, hệ điều hành Linux cho phép người dùng có nhiều chọn lựa hơn,  tùy yêu cầu riêng, đối với môi trường làm việc đồ hoạ (GUI) hay từ quen dùng của thế giới Windows là màn hình desktop.

    Một trong những việc gây bối rối nhất cho người dùng mới bắt đầu làm quen với Linux là quyết định lựa chọn môi trường làm việc đồ hoạ (GUI hay desktop). Điều này không có gì ngạc nhiên vì phần lớn người dùng đến từ thế giới Microsoft chỉ có một GUI duy nhất là Windows, không hề có sự chọn lựa.

    Với Linux, tình huống khác hẳn, có thể dùng nhiều GUI khác nhau trên cùng hệ thống. Ví dụ, Mandrake có 3 GUI được cài sẵn (KDE, Gnome và IceWM) và có thể bổ sung thêm nhiều GUI khác. Một số bản Linux hỗ trợ mạnh một GUI nào đó (tham khảo TGVT A 3/2004, tr.64), ví dụ Red Hat chọn Gnome còn SuSE chọn KDE... Ở mức độ nhất định, GUI là yếu tố góp phần vào việc lựa chọn bản linux (distro) của người dùng.

    Nhưng tại sao lại tồn tại các GUI khác nhau? Vấn đề là do tính chất nguồn mở của Linux, nó cho phép bất kỳ ai (các nhà phát triển nói chung) cũng có thể phát triển một GUI đáp ứng những yêu cầu riêng. Điều này có nghĩa là không có GUI nào là 'tốt nhất' hay 'kém nhất', mà chỉ có GUI phù hợp hay không thật phù hợp với nhu cầu của bạn.  


          Hình 1: RedHat mặc định chọn Gnome cho desktop

    Tùy theo nhu cầu

    Tốc độ. Một trong những khác biệt quan trọng giữa các GUI là 'gánh nặng' đặt lên hệ thống của bạn. GUI càng có nhiều tính năng và hào nhoáng thì càng cần nhiều tài nguyên hệ thống để làm việc; nghĩa là càng nặng nề.

    KDE (K Desktop Environment) và Gnome (GNU Network Object Modeling Environment) là 2 GUI được xây dựng đầy đủ nhất và... nặng nhất. Vì vậy, nếu tốc độ là yếu tố quan trọng nhất (ví dụ bạn muốn khai thác tối đa hiệu năng hệ thống cho một tác vụ nào đó, như firewall chẳng hạn), tốt hơn nên dùng các GUI gọn nhẹ như IceWM, Fluxbox hay Afterstep. (Xem bảng 'Đa dạng GUI').

    Linh hoạt và dễ sử dụng. Đây là vấn đề hơi cá nhân. Đối với một số người thì KDE linh hoạt và dễ sử dụng, nhưng một số người khác lại cảm thấy nó quá phức tạp và thích những GUI đơn giản hơn. Sự lựa chọn là tuỳ bạn, bạn chỉ việc chọn GUI mà mình thích nhất. Tuy nhiên, nếu quen dùng Windows, có thể bạn sẽ cảm thấy thoải mái với Gnome hay KDE hơn so với những GUI có thiết kế hơi khác lạ (như Enlightenment).


    Hình 2: Giao diện hơi khác lạ của Rox Desktop

    GUI mặc định. Tất cả các bản Linux đều hỗ trợ và tích hợp tốt hơn cho một hay một số GUI nào đó. Nếu bạn dùng Mandrake, cả KDE và Gnome đều được hỗ trợ ngang nhau. Nhưng Red Hat thì không bao giờ che giấu sự 'ưu ái' dành cho Gnome, với SuSE là KDE...

    Nếu những vấn đề khác ngang nhau, việc sử dụng GUI mặc định của bản Linux là một ý hay. Bạn sẽ ít gặp rắc rối hơn vì nó được cài đặt và cấu hình mặc định; các thiết lập mặc định thường làm việc tốt. Bạn cũng dễ dàng có được sự hỗ trợ, vì hầu hết người dùng bản Linux này đều dùng GUI mặc định.

     


    Hình 3: Giao diện Qvwm không khác gì Windows

    Bắt mắt. GUI thường có dáng vẻ khác nhau. Một số hào nhoáng, với nhiều hiệu ứng đặc biệt, font chữ độc đáo, biểu tượng xinh xắn và đủ thứ công cụ. Một số khác thì trông xám xịt và đơn điệu. Việc lựa chọn giữa 2 thái cực này thuộc về sở thích cá nhân. Một số người thích những trang trí bắt mắt, một số khác chỉ muốn màn hình làm việc gọn gàng với hình nền đơn giản. Không hẳn cái nào tốt hơn.

    Trình ứng dụng. Có một thực tế là một số trình ứng dụng làm việc tốt hơn trên một GUI nào đó so với các GUI khác. KDE và Gnome dựa trên các tập thư viện hàm và công cụ lập trình khác nhau (Gtk cho Gnome và Qt cho KDE). Vì vậy, không có gì khó hiểu khi các ứng dụng được thiết kế và xây dựng trên cùng tập thư viện hàm Gtk sẽ làm việc trên Gnome tốt hơn trên KDE, và ngược lại với các ứng dụng xây dựng trên Qt.

    Vì vậy, nên sử dụng GUI làm việc tốt nhất với ứng dụng mà bạn cần. Nếu không biết ứng dụng dùng thư viện nào, hãy thử với các GUI khác nhau để xem có khác biệt nào đáng kể không. Nói chung, các ứng dụng thường dùng có thể giúp bạn xác định loại GUI nên dùng.

                                                   LƯỢC SỬ GUI

    GIAO DIÊN NGƯỜI DÙNG ĐỒ HOẠ HAY GUI là hình thức giao tiếp giữa người dùng và máy tính sử dụng các biểu tượng và điều khiển đồ hoạ ngoài hình thức văn bản (text). Người dùng sử dụng thiết bị trỏ như chuột (mouse) để thao tác các biểu tượng và điều khiển. Đây là bước tiến lớn so với dạng giao tiếp dòng lệnh.

    Những viên gạch đầu tiên
    Khái niệm đầu tiên về hệ thống cửa sổ trên màn hình bắt đầu với dự án SAGE và Sketchpad của Sutherland. Năm 1960, dự án Augmentation of Human Intellect của Doug Engelbart tại SRI (Stanford Research Institute) đã phát triển nên hệ thống On-Line System làm việc với con trỏ điều khiển bằng chuột và có nhiều cửa sổ trên màn hình.

    Xerox PARC
    Công việc của Engelbart trực tiếp dẫn đến những thành quả ở Xerox PARC. Hãng này hệ thống hoá mô hình WIMP (Window - cửa sổ, Icon - biểu tượng, Menu và Pointer - con trỏ), thử nghiệm đầu tiên trên máy tính Xerox Alto, và sau đó là hệ thống thương mại Xerox 8010 ('Star') ra đời vào năm 1981.

    Apple Lisa và Macintosh
    Bắt đầu từ năm 1979, dưới sự dẫn dắt của Jef Raskin, hai nhóm Lisa và Macintosh ở Apple Computer (có các thành viên

    trước đây của Xerox PARC) tiếp tục phát triển những ý tưởng trên. Macintosh, được đưa ra vào năm 1984, là sản phẩm dùng GUI thành công về mặt thương mại đầu tiên. GUI của Macintosh được cải tiến dần theo thời gian, với cải tiến quan trọng của System 7 và trải qua chỉnh sửa lớn nhất với giao diện 'Aqua' của Mac OS X vào năm 2001.

    Microsoft Windows
    Năm 1985, phiên bản Windows đầu tiên của Microsoft ra mắt, dựa trên GUI của Mac OS. Tiếp sau đó là Windows 2.0, và Windows 3.0 ra mắt vào năm 1990 thực sự tạo nên sự phát triển rộng rãi của Windows. Các GUI của các phiên bản Windows tiếp sau tương tự phiên bản 3.0.

    X Window System
    Hệ thống đồ hoạ dùng trong hệ thống Unix, được phát triển vào đầu thập niên 1980 trong dự án Athena của học viện công nghệ MIT. Nhờ mã nguồn mở, X Window đã được phát triển thành nền tảng chuẩn quản lý đồ hoạ cho hầu hết các hệ thống, bao gồm Unix, các hệ điều hành BSD và Linux.

    Trên đây là tóm lược những 'nhánh chính' của dòng lịch sử GUI. Ngoài ra còn có các nhánh GUI khác cũng có ý nghĩa quan trọng trong tiến trình phát triển GUI như NeXTSTEP dùng cho dòng máy tính NeXT, VisiOn của VisiCalc, OS/2 của IBM...

    GUI... Không chỉ là vẻ ngoài

    Ẩn đằng sau 'lớp vỏ' giao diện là các hàm hệ thống phục vụ cho việc phát triển ứng dụng. KDE và Gnome không chỉ là môi trường làm việc cho người dùng cuối mà còn là nền tảng dành cho các nhà phát triển với các bộ công cụ phát triển ứng dụng và thư viện hàm.

    KDE được xây dựng trên bộ công cụ Qt của Trolltech. Qt có các công cụ phát triển tốt, được xây dựng trên ngôn ngữ C++ và làm việc với nhiều nền tảng hệ thống (Windows, Unix/Linux, Mac OS). Kiến trúc môđun và thiết kế hướng đối tượng tốt của KDE cho phép các nhà phát triển dễ dàng xây dựng bổ sung những thành phần đồ hoạ mới. Tuy nhiên Trolltech cung cấp Qt dưới dạng bản quyền kép: phiên bản X11 của Qt miễn phí cho các dự án nguồn mở nhưng yêu cầu bản quyền cho từng nhà phát triển khi được dùng để tạo phần mềm độc quyền.

    Trong khi đó Gnome được xây dựng trên Gtk cho phép dùng để tạo phần mềm miễn phí và độc quyền mà không có ràng buộc gì cả. Gtk được xây dựng trên ngôn ngữ C vì vậy có phần hạn chế.

    Phần lớn các trình WM và desktop đều được xây dựng trên Qt hay Gtk, một số trình tinh gọn bớt tập hàm thư viện đồ hoạ để giảm tải hệ thống. Dĩ nhiên, nếu như bạn không phải là nhà phát triển ứng dụng trên Linux hay không cần bổ sung những ứng dụng mới có sử dụng tập hàm đồ hoạ mở rộng, việc 'gánh' thêm những thứ không cần thiết chỉ làm cho hệ thống của bạn trở nên nặng nề một cách không cần thiết.  


    Tóm lại

     

                Hình 4: Giao diện gọn nhẹ của XFce


    Nhờ tính chất 'mở' của Linux nên người dùng có cơ hội chọn những gì mình thích và cần thiết. Mỗi môi trường desktop trên Linux đều có điểm mạnh và điểm yếu. Những desktop đầy đủ tính năng thường cồng kềnh (như KDE), những desktop gọn nhẹ thì lại ít tính năng. Cài đặt cho máy chủ có thể không cần đến các tính năng đồ hoạ cao cấp, nhưng với người dùng gia đình hay nhà phát triển thì đây lại là yếu tố quan trọng.

    Một số người cho rằng sự tồn tại nhiều môi trường desktop gây trở ngại cho sự phát triển Linux vì làm phân tán sức mạnh của cộng đồng các nhà phát triển và gây bối rối cho người dùng. Đã từng có những đề xuất phát triển desktop thống nhất cho Linux nhưng chưa có triển vọng thực sự, có một điều chắc chắn là các môi trường desktop hiện thời sẽ không rút lui nhanh chóng, nhất là với KDE và Gnome. Việc cạnh tranh cũng có mặt tích cực đó là khuyến khích việc cải tiến và đưa ra những tính năng tốt nhất cho môi trường desktop.

    Việc lựa chọn desktop nói chung nên cân nhắc theo nhu cầu và điều kiện hệ thống của bạn. Tuy vậy, lưu ý là việc chọn một GUI không có nghĩa là bạn buộc phải gắn chặt với nó mãi mãi. Bạn có thể cài đặt thêm nhiều GUI khác tùy thích trên hệ thống của mình (đúng như tuyên ngôn 'mở' của Linux) và sau đó chọn GUI khi đăng nhập hệ thống. Và như vậy, bạn có thể chọn GUI thích hợp nhất tùy theo công việc...ÿ

                                      CÁI GÌ TẠO NÊN GUI TRÊN LINUX?

    CÓ 3 THÀNH PHẦN TẠO NÊN GUI CỦA LINUX: X Window System, trình quản lý cửa sổ (WM - Window Manager) và môi trường làm việc desktop. X Window System (gọi tắt 'X Window' hay 'X') là hệ thống đồ hoạ làm việc trên môi trường mạng (có thể chạy trên nhiều máy khác nhau hay trên cùng 1 máy).

    X Window bao gồm các thành phần: X Server giao tiếp với phần cứng (card màn hình, chuột, bàn phím), thư viện hàm đồ hoạ và X Client - thành phần thật sự hiển thị mọi thứ trên màn hình. Hầu hết các bản Linux hiện nay đều dùng phiên bản nguồn mở miễn phí XFree86 của X Window (thoạt đầu được thiết kế nhắm đến nền tảng Intel x86).

    X Window cung cấp chế độ đồ hoạ cơ bản và có thể dùng độc lập nếu bạn không quan tâm đến  menu, khung cửa sổ, hình nền và những thành phần cần thiết khác giúp tăng hiệu quả làm việc

     

     Khả năng hiển thị những thành phần như vậy được cung cấp bởi trình WM. Gần như mọi thứ xuất hiện trên màn hình trong hệ thống X Window đều là cửa sổ và WM có chức năng quản lý chúng (vị trí hiển thị, di chuyển, phóng to/thu nhỏ...).

    Desktop là lớp trên cùng mà người dùng làm việc trực tiếp (vì vậy thường được xem 'đánh đồng' với GUI), gồm các tính năng kết hợp với WM để cung cấp môi trường làm việc đồ hoạ hoàn chỉnh. Ở mức độ nào đó chức năng của desktop chồng lấn WM, đôi khi ranh giới giữa WM và desktop không thật rõ ràng. Một số WM có thêm các tính năng của desktop và ngược lại. Người dùng có thể chọn từng phần trên riêng biệt, và có thể thay đổi WM hay desktop tuỳ ý.

       

     

    Thanh Phong

    ID: A0404_80