Giao diện đồ hoạ

Đây là phiên bản tài liệu đơn giản

Xem phiên bản đầy đủ của tài liệu Giao diện đồ hoạ

Chương 7
Giao diện đồ hoạ
Mặc dù Linux là hệ điều hành mạnh và phát triển, nhưng nếu chỉ làm việc qua giao diện dòng
lệnh thì Linux trở thành khó sử dụng và không thể hấp dẫn được nhiều người dùng. Người dùng sẽ
phải nhớ một danh sách dài các câu lệnh. Do đó ngay từ những ngày đầu phát triển của Linux đã có
một giao diện khác “thân thiện” với người dùng hơn, đó là giao diện đồ hoạ.
Trong giao diện đồ hoạ người dùng có thể chạy các chương trình trong các cửa sổ khác nhau, không
cần nhớ danh sách các câu lệnh vì đã có khả năng chạy chúng bằng hệ thống trình đơn (menu), hệ
thống các biểu tượng trên màn hình, và ngoài ra còn có khả năng sử dụng chuột để sắp xếp không
gian màn hình của mình. Hiện nay các “môi trường làm việc” lớn như KDE, GNOME còn có sẵn
những ứng dụng đi kèm giúp người dùng không mất nhiều thời gian lựa chọn. Mọi thứ đã có sẵn.
Chúng ta sẽ xem xét một trong hai môi trường làm việc này, KDE, trong một chương sách riêng ngay
sau chương này.
Trong chương này chúng ta sẽ xem xét cách làm việc của giao diện đồ hoạ và cách cấu hình nó. Ở
cuối chương sẽ có mô tả sơ lược một vài môi trường làm việc và cách khởi động vào chúng.
7.1 X.Org
Giao diện đồ hoạ trong Linux được xây dựng dựa trên cơ sở của tiêu chuẩn X
Window System (cần chú ý là Window chứ không phải Windows, xin đừng nhầm!)
hay còn gọi đơn giản là “X” (ích-xì). Tiêu chuẩn này đầu tiên được viết ra tại
trường đại học công nghệ Massachuset. Bắt đầu từ phiên bản thứ hai tiêu chuẩn
này được côngxoocxiom X hỗ trợ. Côngxoocxiom X được tổ chức vào năm 1988 với
mục đích tiêu chuẩn hóa giao diện đồ họa cho các hệ điều hành UNIX. Bắt đầu
từ năm 1997 côngxoocxiom X chuyển thành X Open Group và sau đó là X.Org
Foundation (
http://www.x.org). Hiện thời đã có phiên bản 11 bản phát hành
7 của tiêu chuẩn X Window System cho hệ thống đồ hoạ của UNIX, ký hiệu ngắn
gọn là X11R7. Tuy nhiên trên các bản phân phối Linux vẫn còn sử dụng bản
phát hành thứ 6, tức là X11R6.
Cách đây không lâu các bản phân phối Linux vẫn còn sử dụng XFree86, một
phần mềm ứng dụng tự do tuân theo tiêu chuẩn X11R6 cho các hệ thống UNIX
7.1 X.Org 163
với bộ xử lý 80386/80486/Pentium. XFree86 được một nhóm các nhà lập trình tạo
ra, người khởi đầu nhóm này là David Wexelblat. XFree86 đã được sử dụng không
chỉ trên Linux mà còn trên các hệ thống System V/386, 386BSD, FreeBSD và các
phiên bản UNIX khác cho Intel x86. Tuy nhiên cách đây một thời gian (cuối năm
2003 đầu năm 2004), các phiên bản Linux đã đồng loạt chuyển sang một “bản
X” khác dựa trên tiêu chuẩn X Window System (do có vấn đề với bản quyềncủa
XFree86 phiên bản 4.4.0) đó là XOrg, một nhánh phát triển mới của XFree86.
XOrg do tổ chức cùng tên X.Org Foundation cung cấp ở dạng ứng dụng mã
nguồn mở của X Window System. Quá trình phát triển XOrg hiện đang là một
phần của cộng đồng freedesktop.org. Phần lớn các nhà phát triển, nhà phân
phối và nhà cung cấp phần cứng của dự án XFree86 trước đây đã ngừng tham
gia XFree86 và chuyển sản phẩm của mình gia nhập vào X.org Foundation. Do
đó đôi khi chúng ta không thấy có sự khác nhau “về cơ bản”. Hiện thời X.Org
Foudation là một công ty khoa học với ban lãnh đạo bao gồm những guru
1
hàng
đầu trong thế giới mã nguồn mở:
• Stuart Anderson (Free Standards Group),
• Egbert Eich (SuSE),
• Jim Gettys (HP),
• Stuart Kreitman (SUN),
• Kevin Martin (Red Hat),
• Jim McQuillan (Linux Terminal Server Project),
• Keith Packard (HP),
• Leon Shiman (Shiman Associates).
Nếu muốn bạn có thể tìm hiểu thêm về tổ chức X.Org trên trang web chính của
tổ chức tại địa chỉ http://x.org. Còn bây giờ chúng ta sẽ nói đôi dòng về cách
tổ chức làm việc giao diện phần mềm dựa trên tiêu chuẩn X Window System.
Hệ thống X Window được xây dựng trên cơ sở mô hình “chủ/khách” (thuật ngữ
tiếng Anh hay được dùng hơn trong giao tiếp: server/client) thường gặp trong thế
giới vi tính hiện nay. Tuy nhiên mô hình này trong trường hợp X Window được
dùng ở dạng quay ngược lại 180 độ. Nói như vậy là vì chương trình máy chủ (xin
được gọi tắt là chương trình chủ) X làm việc trên máy tính của người dùng (và
hiển thị hình ảnh trên màn hình máy tính) chứ không phải trên một máy (chủ)
nào đó ở xa. Chương trình chủ X làm việc trực tiếp với phần cứng: với hệ thống vi-
đê-ô (cạc hình,. . . ), với các thiết bị nhập vào (bàn phím, chuột,. . . ) và âm thanh.
Rất có thể đối với một số bạn đọc sẽ dễ hiểu hơn nếu coi chương trình này là một
driver của hệ thống hình ảnh, chuyên điều khiển hệ thống này. Chương trình chủ
X chiếm lĩnh tất cả các thiết bị phần cứng và cung cấp các khả năng của thiết bị
cho các chương trình khác ở dạng tài nguyên riêng
2
theo một giao thức (protocol)
1
những người có kinh nghiệm làm việc nhiều năm
2
chính vì thế mà chương trình X được coi là chủ
164 Giao diện đồ hoạ
đặc biệt, gọi là giao thức X hay giao thức kết nối mạng X (X Network Protocol).
Máy tính chỉ dùng để chạy chương trình chủ X được gọi là máy X terminal.
Nhưng bản thân chương trình chủ X không tạo ra (vẽ ra) hình ảnh trên
màn hình mà chỉ cung cấp hình ảnh cho driver cạc hình. Nếu chỉ chạy chương
trình chủ X thì bạn sẽ chỉ thấy một màn hình màu xám với một dấu X ở giữa.
Có thể di chuyển dấu X này quanh màn hình chuột. Và đó là tất cả những gì
bạn có thể làm. Nhấn các nút chuột và bàn phím không đem lại lợi ích gì.
Tuy nhiên ngay lúc này chương trình chủ X đã sẵn sàng chuyển những tín
hiệu (nhấn phím, nhấn chuột) đến các chương trình khách, nhưng tạm thời
chưa có chương trình khách nào. Lúc này vẫn có một số tổ hợp phím được X
xử lý. Đó là <Ctrl>+<Alt>+<Backspace> dùng để dừng làm việc chương trình
chủ X (nếu không bỏ đi khả năng này trong cấu hình), <Ctrl>+<Alt>+<+> và
<Ctrl>+<Alt>+<–> – chuyển nhanh giữa các chế độ hiển thị, tức là độ phân giải
và tần số màn hình và các tổ hợp phím quen thuộc <Control>+<Alt>+<Fm> –
chuyển về chế độ văn bản vào terminal ảo số m.
Để đưa ra màn hình một hình ảnh nào đó có ý nghĩa hơn thì chỉ một mình
chương trình chủ X là không đủ. Ngoài nó ra chúng ta cần chạy một trình quản
lý cửa sổ và ít nhất một chương trình khách để tạo hình ảnh trên màn hình.
Chương trình khách của “chủ X” có thể là các ứng dụng làm việc dưới X Window,
ví dụ chương trình soạn thảo văn bản OpenOffice.org Writer, chương trình đồ
hoạ GIMP, các chương trình giả lập terminal như xterm, urxvt, konsole,. . .
Nằm giữa chương trình khách và chương trình chủ X còn có hai thành phần
quan trọng nữa của giao diện đồ hoạ, đó là thư viện các hàm đồ hoạ X–lib và
trình quản lý cửa sổ (xem hình
7.1). Thư viện X–lib gồm các hàm đồ họa cho
phép thực hiện các thao tác bậc thấp với các hình mẫu đồ hoạ. Trình quản lý cửa
sổ gọi các hàm trong X–lib để điều khiển màn hình và thực hiện bất kỳ thao tác
chuyển đổi hình ảnh nào trong các cửa sổ.
Hình 7.1: Kiến trúc của hệ thống đồ hoạ X Window System
3
.
Khi một ứng dụng X khởi động, cửa sổ sẽ chuyển quyền điều khiển đến trình
quản lý cửa sổ. Trình quản lý cửa sổ cung cấp các phương tiện để thực hiện tất
cả các thao tác với các cửa sổ, bao gồm: vẽ khung ngoài, trình đơn (menu), các
7.1 X.Org 165
biểu tượng, thanh cuộn lên, xuống và các thành phần khác của cửa sổ, đồng thời
còn cung cấp khả năng thay đổi dạng và vị trí các cửa sổ trong quá trình làm
việc tùy theo nhu cầu của người dùng.
Trình quản lý cửa sổ còn gọi các hàm tương ứng cho các chương trình khách
trong trường hợp người dùng thao tác với các ứng dụng bằng bàn phím và chuột.
Chính vì thế khi cấu hình X.org ngoài cạc màn hình còn phải đưa ra các tham
số của chuột và bàn phím. Trình quản lý màn hình cần biết các tham số của các
thiết bị này để thực hiện công việc của mình.
Các môi trường làm việc đồ hoạ mở rộng như KDE, GNOME, Xfce4, CDE,
GNUStep, v.v. . . không thay thế những thành phần kể trên của hệ thống X Win-
dow, mà chỉ mở rộng và thêm vào. Ví dụ, KDE thêm vào thư viện các hàm đồ
hoạ QT bổ sung cho X–lib. GNOME sử dụng thư viện GTK+ (bây giờ là GTK2+).
Chính thư viện này là nền tảng của chương trình đồ hoạ GIMP. Ngoài ra trong
GNOME còn có các thư viện khác như Imlib cho phép mở rộng các khả năng của
hệ thống đồ họa.
Bởi vì chủ và khách là các tiến trình riêng, nên chúng có thể chạy trên các
máy tính khác nhau và trao đổi với nhau qua mạng. Ví dụ các chương trình ứng
dụng có thể chạy trên một máy chủ mạnh (mainframe), còn hình ảnh sẽ hiển
thị trên màn hình máy tính cá nhân. Đặc điểm rất mạnh này của hệ thống X
Window là một trong những khác biệt của nó so với giao diện đồ hoạ của các hệ
điều hành dòng Windows.
Ngoài ra trên Linux và UNIX nói chung không có sự phân biệt rõ ràng giữa
các chương trình giao diện đồ hoạ và giao diện văn bản (dòng lệnh) như trong
Windows. Đối với hệ thống thì không có sự khác nhau giữa chương trình làm
việc trong chế độ đồ hoạ và trong chế độ bình thường. Chương trình cho chế độ
đồ hoạ cũng được chạy như các chương trình bình thường, tức là từ dòng lệnh,
từ chương trình Midnight Commander, v.v. . . Điều kiện duy nhất cần phải có là
chương trình chủ X phải làm việc. Nếu cần chương trình sẽ tự tìm đến chương
trình chủ X qua TCP/IP nói chung và qua socket nội bộ khi chương trình chủ và
khách làm việc trên cùng một máy. Chương trình thực hiện việc này bằng cách
gọi các hàm thư viện trong X–lib. Tất cả những gì chương trình cần biết để làm
việc đó là nơi tìm chương trình chủ X. Tìm kiếm chương trình chủ X được thực
hiện qua biến môi trường DISPLAY hoặc qua tùy chọn trên dòng lệnh. Ngoài
ra còn có những chương trình có thể làm với cả chương trình chủ X và với cả
terminal thông thường. Ví dụ chương trình soạn văn bản emacs tự động chọn
chế độ làm việc (đồ hoạ hay văn bản) khi khởi động.
Tất nhiên những gì đưa ra trong hình
7.1 chỉ là tương đối. Ví dụ chúng ta
đã nói rằng trao đổi giữa thư viện X–lib với chương trình chủ X trong trường
hợp chung được thực hiện qua giao thức TCP/IP. Như vậy là trong hình vẽ đã bỏ
qua những chương trình ứng dụng của giao thức TCP/IP. Và còn một tài nguyên
quan trọng khác của hệ thống đồ hoạ đó là phông chữ. Chương trình chủ X có
thể thao tác với phông chữ một cách trực tiếp, hoặc có một chương trình khác
chuyên dùng cho việc này (được gọi là chương trình chủ phông chữ), và cũng cần
phải thêm vào hình vẽ trên.
X.org có một chương trình chủ X cho phần lớn cạc màn hình. Chương trình
này được gọi là xorg và nằm trong thư mục /usr/X11R6/bin. Thông thường có
một liên kết đến chương trình chủ này với tên X, do đó có thể chạy chương trình
166 Giao diện đồ hoạ
chủ X bằng câu lệnh:
[user]$ X
Trình quản lý cửa sổ thì có rất nhiều, bạn đọc có thể chọn bất kỳ chương trình
nào trong số chúng. Lựa chọn trình quản lý cửa sổ nào phụ thuộc nhiều vào cấu
hình máy tính của bạn (máy “mạnh” hay “yếu”, cạc màn hình có nhiều bộ nhớ
hay không), và yêu cầu công việc. Xin đưa ra đây một vài ví dụ trình quản lý cửa
sổ thường dùng:
• IceWM (http://www.icewm.org) – trình quản lý cửa sổ nhỏ nhẹ và làm
việc rất nhanh. Trình quản lý cửa sổ này đang được rất nhiều người dùng
có kinh nghiệm ưa chuộng.
• Fluxbox (http://www.fluxbox.org) – một trình quản lý cửa sổ gọn nhẹ
khác, làm việc tương đối nhanh và cũng được người dùng có kinh nghiệm
ưa chuộng. Chính trình quản lý cửa sổ này được dùng trên nhiều bản phân
phối Linux dạng LiveCD (Linux “sống và làm việc” trên CD) như: Damn
Small Linux, Insert.
• WindowMaker (http://www.windowmaker.org) – trình quản lý cửa sổ
gọn nhẹ nhiều màu sắc và mềm dẻo trong cấu hình kế thừa của AfterStep.
Một đặc điểm thú vị của WindowMaker đó là các trình nhỏ applet thực
hiện nhiều chức năng khác nhau: theo dõi hệ thống, theo dõi mạng, đồng
hồ, v.v. . . Nếu muốn và có sự hỗ trợ thì bạn có thể sử dụng những trình nhỏ
applet này trong các trình quản lý cửa sổ khác như Fluxbox.
• enlightment (http://www.enlightment.org) – trình quản lý cửa sổ đẹp
nhất hiện nay, có rất nhiều tùy chọn cấu hình để bạn có thể thay đổi.
• fvwm2 (Free Virtual Window Manager 2)– phiên bản nâng cấp của trình
quản lý cửa sổ fvwm cho phép sử dụng các sắc thái (theme) khác nhau và
trình đơn động. Trang chủ của FVWM và FVWM2 nằm tại địa chỉ http:
//fvwm.org/.
Các trình quản lý cửa sổ khác nhau có thể cho ra dạng cửa sổ khác nhau bằng
cách sử dụng các khung và trình đơn cửa sổ khác nhau. Nhưng tất cả chúng đều
sử dụng cùng một tiện ích đồ hoạ cơ sở của X Window, đó là chương trình chủ X.
Như vậy là bạn đọc đã biết được giao diện đồ hoạ trên Linux được tạo ra từ
những thành phần gì. Như bạn thấy giao diện đồ hoạ trên Linux được tạo ra theo
nguyên tắc môđun, và có thể tự xây dựng nhiều “kiểu” giao diện đồ hoạ từ các
thành phần khác nhau. Nhưng đối với người dùng mới (và rất mới) thì đây không
phải là cách dễ nhất. Rất may là không nhất thiết phải chọn cách này, vì đã có
trên tất cả các bản phân phối lớn các môi trường làm việc đồ hoạ. Nổi tiếng nhất
trong số các môi trường đồ hoạ này cần kể đến KDE (
http://www.kde.org)
mà chúng ta sẽ nghiên cứu sâu hơn trong chương sách tiếp theo và GNOME
(http://www.gnome.org). Ngoài ra cũng cần nói đến môi trường làm việc đồ
hoạ gọn nhẹ hơn và cũng chiếm được sự yêu mến của rất nhiều người dùng, đó là
Xfce4 (http://www.xfce.org). Tất cả những môi trường làm việc đồ hoạ này
7.2 Một chút về hệ thống hình ảnh của máy tính 167
đều đã có hỗ trợ tiếng Việt tốt (hoặc còn chưa tốt), do đó càng dễ dàng hơn (hoặc
khó khăn hơn cho ai đó?) cho bạn đọc trong khi sử dụng.
Nền tảng của môi trường làm việc đồ hoạ KDE (K Desktop Enviroment) là thư
viện các hàm đồ hoạ mở rộng Qt của công ty Troll Tech (http://www.qt.com).
Bằng thư viện này các nhà phát triển KDE đã viết ra trình quản lý cửa sổ riêng
– kwm, trình quản lý tập tin kfm, trung tâm điều khiển KDE và rất nhiều thành
phần khác bao gồm cả gói chương trình ứng dụng cho văn phòng KOffice. Tất
nhiên điều này không có nghĩa là tất cả các thành phần của môi trường KDE là
do một công ty nào đó viết ra và phát triển, mà nhiều nhà lập trình cùng sử dụng
một cách một ý tưởng phát triển chung để tạo ra các ứng dụng khác nhau. Kết
quả thu được đó là một bộ đầy đủ các chương trình ứng dụng cho phép giải quyết
tất cả các nhu cầu điều khiển máy tính và làm việc của người dùng. Trong các
phiên bản mới của KDE còn có thêm trình quản lý tập tin và cũng là trình duyệt
web Konqueror (http://konqueror.kde.org) có nhiều khả năng mạnh trong
việc truy cập đến các tập tin. Ngoài ra Konqueror còn cho phép xem trực tiếp các
tập tin có định dạng (“phần mở rộng”) đã biết, khả năng duyệt web cũng không
thua kém các trình duyệt khác như Internet Explorer.
4
Một môi trường làm việc đồ hoạ có cùng đẳng cấp với KDE đó là GNOME
(GNU Network Object Model Environment). GNOME được phát triển trong
khuôn khổ của dự án GNU, có nghĩa là chương trình ứng dụng tự do. GNOME
được xây dựng dựa trên thư viện các hàm đồ hoạ GTK+ (bây giờ là GTK2+, phiên
bản 2 của thư viện GTK).
Còn có nhiều môi trường làm việc đồ hoạ khác nhưng chưa đạt được mức
độ phát triển mạnh như KDE và GNOME. Trong số chúng cần nói đến Xfce4
(http://www.xfce.org). Phiên bản 4.4 của Xfce4 hứa hẹn nhiều thay đổi lớn,
trong số đó cần kể đến trình quản lý tập tin Thunar và các mở rộng (plugin) của
nó.
Các bản phân phối Linux mới hiện nay đã cho phép cài đặt và cấu hình giao
diện đồ hoạ một cách dễ dàng hơn rất nhiều so với trước đây. Chương trình cài
đặt của Debian Linux, openSUSE Linux, Fedora Core, v.v. . . đã có khả năng tự
động xác định dạng cạc hình, dạng màn hình và tự động chọn các tham số (độ
phân giải, tần số cập nhật) thích hợp. Tuy nhiên tôi xin đưa ra đây một vài lời
khuyên khi cấu hình X Window vì rất có thể bạn đọc sẽ gặp vấn đề nào đó, ví dụ
chương trình cài đặt xác định dạng màn hình không đúng và do đó dùng những
tham số không thích hợp. Đầu tiên chúng ta cần biết một chút về công việc của
hệ thống hình ảnh của máy tính.
7.2 Một chút về hệ thống hình ảnh của máy tính
Như bạn đọc đã hiểu khi thấy đầu đề của phần này, đây không phải là hướng
dẫn chi tiết dành cho các nhà chuyên môn, mà chỉ là những kiến thức cơ bản về
hệ thống hình ảnh của máy tính để giúp người dùng mới và rất mới hiểu được
cách làm việc của hệ thống hình ảnh, thế nào là tần số, độ phân giải màn hình,
4
Cách đây một thời gian KDE đã được công nhận là phần mềm tự do. Vấn đề này xảy ra trước
đây là do thư viện Qt thuộc về công ty thương mại. Nhưng công ty Troll Tech đã đưa ra thông
báo cho phép dùng thư viện này vĩnh viễn miễn phí để phát triển các ứng dụng mã nguồn mở.
168 Giao diện đồ hoạ
v.v. . . để có thể chọn các tham số thích hợp trong khi cấu hình.
Hệ thống hình ảnh của máy tính bao gồm cạc hình (video card) và màn hình
(monitor), chúng ta sẽ chỉ xem xét trường hợp màn hình ống điện tử (CRT) mà
không xem xét màn hình tinh thể lỏng (LCD).
Như bạn đọc biết, hình ảnh trên màn hình được tạo ra từ các điểm riêng
biệt. Điểm được tạo ra nhờ các chuỗi electron và các điểm nằm ở dạng dòng nằm
ngang. Màn hình thực hiện hai công việc riêng biệt: “trải” các chuỗi (tia) electron
và chiếu sáng các điểm riêng biệt để tạo ra hình ảnh. Điều khiển màn hình có
nghĩa là đưa ra số điểm trên một dòng (độ phân giải theo chiều ngang), số dòng
trên màn hình (độ phân giải theo chiều dọc) và cường độ (intensity) của mỗi màu
(trong số ba màu chính) trên từng điểm.
Chức năng điều khiển màn hình là do cạc hình thực hiện. Cạc hình chuyển tới
màn hình 3 tín hiệu: tín hiệu hình (RGB), đồng bộ dòng (HS) và đồng bộ ảnh (cột,
VS). Khi có tín hiệu đồng bộ dòng (theo chiều ngang) tia electron sẽ được chuyển
từ cuối mỗi dòng tới đầu dòng tiếp theo, còn khi có tín hiệu đồng bộ ảnh (theo
chiều dọc) thì sẽ chuyển tia electron từ góc dưới bên phải về góc trên bên trái.
Cần phải biết tần số tạo ra hai tín hiệu này, tính theo số tín hiệu trong một giây,
để có thể cấu hình đúng chương trình chủ X. Giá trị tần số đồng bộ ngang và dọc
này nhất định có trong tài liệu đi kèm với màn hình. Tần số đồng bộ dọc thường
kí hiệu là VSF và có đơn vị là Hz (Héc), giá trị của VSF nằm trong khoảng 50 –
180 Hz. Tần số đồng bộ ngang, HSF, có đơn vị là KHz (1kilôhéc = 1000 héc) và
nhận giá trị trong khoảng từ 31 đến 135 KHz. Những màn hình mới thường là
màn hình có nhiều tần số hay còn nói là có giải tần số rộng, có nghĩa là bạn có
thể chọn các tần số dọc và ngang từ một vùng các giá trị cho phép nào đó. Một số
màn hình nhất là màn hình rẻ tiền có thể chỉ có một vài giá trị tần số cho phép.
Tất nhiên tốt nhất là chọn giá trị lớn nhất trong số có thể dùng, nhưng hãy cẩn
thận vì nếu chọn giá trị cao quá mức thì có thể làm hỏng màn hình.
Còn có một tần số quan trọng khác nữa, đó là số điểm có thể hiển thị trên
màn hình trong một giây. Tia electron di chuyển qua màn hình theo một vận tốc
có hạn do bộ vi xử lý của cạc hình xác định. Tần số này được gọi là DCF (“Dot
Clock Frequency” – tần số làm việc của cạc hình).
Một tham số cũng quan trọng nữa đó là tần số cập nhật màn hình SRR
(Screen Refresh Rate). Giá trị này càng cao bao nhiêu thì mắt của người dùng
càng ít mỏi mệt bấy nhiêu trong khi làm việc với máy tính, vì khi đó sẽ giảm
mức độ nhấp nháy của màn hình. Không nên chọn tần số cập nhật màn hình nhỏ
hơn 60Hz, khi đó đèn huỳnh quang sẽ nhấp nháy rất mạnh. Tiêu chuẩn VESA
khuyên chọn giá trị này lớn hơn hoặc bằng 72Hz. Nhưng cũng không thể đưa ra
một tần số cập nhật màn hình quá lớn, vì tần số này không thể lớn hơn giá trị
của phân số:
DCF
(số điểm trên dòng) * (số cột trên màn hình)
tức là có sự phụ thuộc với độ phân giải (resolution) của màn hình. Trên thực tế
tần số cập nhật còn nhỏ hơn nữa vì còn mất thời gian di chuyển các tia electron
từ dòng này sang dòng khác, từ cuối màn hình lên đầu màn hình. Ngoài ra để
tạo ra hình ảnh sắc nét trên màn hình, tia electron còn di chuyển quá sang trái,
sang phải, lên cao, xuống thấp hơn một chút so với hình ảnh (tạo ra 4 dòng và
cột tối xung quanh hình ảnh). Cần nói thêm tần số cập nhật màn hình bằng tần
7.3 Cấu hình chương trình chủ X 169
số đồng bộ dọc (SRR = VSF). Như vậy, tần số đồng bộ dọc VSF và tần số làm việc
của cạc hình DCF xác định giá trị giới hạn (lớn nhất) của độ phân giải.
Còn có một giới hạn nữa phụ thuộc vào dung lượng bộ nhớ của cạc hình – số
lượng màu của hình ảnh. Trên các màn hình màu, mỗi điểm được chiếu sáng
đồng thời bởi 3 tia electron. Màu của điểm đó được xác định bởi sự pha trộn của
ba màu cơ bản: đỏ (Red), xanh lá cây (Green) và xanh da trời (Blue) – RGB.
Cường độ của mỗi màu này lại được xác định bởi mức độ của tín hiệu trong tia
tương ứng. Hình ảnh sẽ đưa ra màn hình được tạo ra trong bộ nhớ của cạc hình.
Bộ nhớ này nằm trên cạc hình nhưng thuộc về không gian bộ nhớ chung của cả
máy tính. Hình ảnh được lưu trong bộ nhớ ở dạng số và sự chuyển đổi hình ảnh
về dạng tín hiệu “tương tự” (analog) RGB là một trong những công việc chính
của cạc hình. Công việc này là do một bộ phận trên cạc hình đảm nhiệm, đó là
“bộ chuyển đổi số – tương tự”. Số lượng màu có thể dùng cho mỗi điểm được giới
hạn bởi dung lượng bộ nhớ cạc hình cũng như số mức độ tín hiệu mà cạc hình
có thể tạo ra cho mỗi tia electron. Nhưng thông thường cạc hình có thể tạo ra
một số lượng mức độ tín hiệu đủ để hiển thị hình ảnh, do đó tham số quyết định
ở đây là dung lượng bộ nhớ.
Công thức xác định giới hạn độ phân giải và số lượng màu trên hình ảnh rất
đơn giản:
(Dung lượng bộ nhớ, byte) ≥ (Số điểm trên dòng) * (số cột trên màn hình)
* (số byte trên một điểm)
Ví dụ, nếu bạn đọc muốn chọn độ phân giải màn hình 1280 x 1024 và có 32 triệu
màu cho mỗi điểm, tức là 8 byte cho mỗi điểm, thì cần có một cạc hình với dung
lượng bộ nhớ ít nhất là 1280 ∗ 1024 ∗ 4 = 10485760 byte (10Mb). Tất cả những cạc
hình mới đáp ứng được (thậm chí còn vượt quá) yêu cầu này. Nếu có một cạc hình
cũ với dung lượng bộ nhớ ít hơn thì cần phải chọn độ phân giải nhỏ hơn hoặc
chọn số lượng màu ít hơn. Tôi nghĩ rằng bạn có thể tự lựa chọn một độ phân giải
và số lượng màu thích hợp cho máy tính của mình. Còn bây giờ chúng ta sẽ xem
xét phần thực hành của những lý thuyết đã đưa ra, tức là cấu hình giao diện của
Linux.
7.3 Cấu hình chương trình chủ X
Chúng ta sẽ xem xét trường hợp sau khi cài đặt Linux bạn không thể chuyển vào
chế độ đồ hoạ (rất hiếm khi xảy ra với các bản phân phối Linux mới), hoặc không
hài lòng với những gì mình thấy trên màn hình giao diện đồ hoạ. Nếu bạn rơi
vào tình huống thứ nhất trong quá trình khởi động máy, thì hãy chọn khởi động
vào chế độ một người dùng để có khả năng thay đổi cấu hình X. Chúng ta sẽ biết
được cách chuyển chế độ khởi động trong một vài chương tới.
Nếu bạn không hài lòng với hình ảnh của giao diện đồ hoạ, hoặc không thể
vào chế độ đồ hoạ, nhưng vẫn có thể truy cập tới máy tính bằng chế độ văn
bản (giao diện dòng lệnh), thì vẫn có thể sử dụng một câu lệnh và chương trình
của Linux để cấu hình lại chương trình chủ X. Chương này coi như bạn đã cài
đặt X.org, và tất cả những tập tin (chương trình) nói đến phía sau đã có trên
đĩa. Nếu không thì đầu tiên bạn phải cài đặt gói chương trình X.org. Cách cài
đặt chương trình sẽ có trong chương khác dành riêng cho phần cài đặt chương
170 Giao diện đồ hoạ
trình. Hy vọng rằng những thông tin dưới đây giúp bạn cấu hình thành công
giao diện đồ hoạ, hoặc đơn giản là giúp bạn hiểu hơn về giao diện này và cách
cấu hình nó nếu bạn đã có một hệ thống X Window làm việc tốt. Nhưng xin
bạn hãy luôn nhớ là cuốn sách bạn đang đọc sử dụng bản quyền Creative Com-
mons Public License 2.5 (http://creativecommons.org/licenses/by/2.
5/). Tác giả không chịu trách nhiệm về những gì sẽ xảy ra. Hãy cẩn thận trong
khi làm việc!
7.3.1 Thu thập thông tin cần thiết
Để có thể cấu hình bạn cần một vài dữ liệu sau:
• Tên của hãng sản xuất cạc hình và màn hình. Thường lấy từ tài liệu đi kèm
với chúng, nếu không có thì cũng có thể xem trực tiếp trên thiết bị.
• Dạng của bộ xử lý trên cạc hình (chíp). Cần xác định dạng chíp để chọn
môđun đúng cho cạc hình. Ví dụ, chíp của hãng Nvidia thường cần nạp
môđun nv.
• Dung lượng bộ nhớ của cạc hình.
• Khoảng tần số đồng bộ ngang và dọc cho phép dùng của màn hình. Lấy từ
tài liệu đi kèm với màn hình, nếu không có tài liệu thì bạn cần tìm những
thông tin này trên Internet, dễ dàng nhất là trên trang web của nhà sản
xuất. Hai tham số này là quan trọng.
• Dạng chuột và bàn phím. Làm việc trong giao diện đồ hoạ mà không có
chuột thì không thuận tiện chút nào, và nếu không bàn phím thì càng không
thể làm việc với máy tính nói chung. Vì thế cần phải cấu hình chương trình
chủ X để sử dụng những thiết bị này.
Có nhiều cách để lấy những thông tin này. Cách dễ dàng nhất cho người dùng
mới là khi trên máy đã có một hệ điều hành Windows. Những thông tin bạn cần
có ở trong Trình quản lý các thiết bị. Cách chạy chương trình này không thuộc vào
phạm vi của cuốn sách này vì chúng ta đang nói về hệ điều hành Linux. Bạn có
thể tìm thấy thông tin trong bất kỳ cuốn sách nào nói về hệ điều hành Windows.
Nếu trên máy của bạn chưa có bất kỳ hệ điều hành nào thì hãy sử dụng một hệ
điều hành Linux LiveCD (chạy thẳng từ CD) có khả năng nhận dạng phần cứng
tốt như Knoppix. Sau khi khởi động Knoppix thành công hãy sao chép tập tin cấu
hình chương trình chủ X của Knoppix (thường nằm tại /etc/X11/xorg.conf
lên đĩa mềm hoặc flash để sau này có thể đọc lại. Về cách đọc thông tin từ tập tin
cấu hình X.org (cấu trúc của tập tin này) chúng ta sẽ xem xét ngay dưới đây.
Ngoài ra có những chương trình chuyên dùng cho việc lấy các dữ liệu cần thiết
kể trên, ví dụ bash script mkxf86config do các nhà phát triển Gentoo viết ra.
Bạn có thể tìm thấy script này trên mạng Internet. Tuy nhiên tôi hy vọng là các
bạn sẽ không phải sử dụng đến những tiện ích này cũng như những phương án
kể trên (sử dụng hệ điều hành khác, sử dụng Knoppix): tất cả những thông tin
bạn cần đã có trong tài liệu đi kèm với máy tính.
7.3 Cấu hình chương trình chủ X 171
7.3.2 Cấu trúc của tập tin cấu hình X
Tập tin cấu hình chương trình chủ X thường nằm tại /etc/X11/xorg.conf.
Khi khởi động và nếu không chỉ rõ tập tin cấu hình trên dòng lệnh thì chương
trình chủ X đầu tiên sẽ tìm tập tin cấu hình tại thư mục của người dùng, tức
là tại ∼/xorg.conf. Nếu không thấy tập tin này thì chương trình chủ X sẽ dùng
cấu hình chung của toàn bộ hệ thống nằm trong thư mục /etc như đã nói ở trên
(nếu có).
Tập tin cấu hình X chỉ là một tập tin văn bản (text file) bình thường, do đó
có thể sử dụng bất kỳ trình soạn thảo văn bản nào để thay đổi nó. Và đây cũng
chính là cách các nhà quản trị hệ thống có kinh nghiệm sử dụng để cấu hình giao
diện đồ hoạ. Tuy nhiên, có những chương trình, tiện ích chuyên dùng cho việc
này, và chúng ta sẽ sử dụng chúng trong thời gian đầu mới làm quen với Linux.
Cũng không cần phải tạo tập tin xorg.conf từ đầu. Nếu trong khi cài đặt
bạn có chọn cài đặt giao diện đồ hoạ X thì trên máy đã có tập tin chứa cấu hình
X đúng (và có thể không). Nếu vì nguyên nhân nào đó bạn cài đặt X.org riêng
sau khi cài đặt Linux, thì hãy chạy một trong những chương trình cho phép bạn
tạo ra tập tin này. Để tạo ra tập tin cấu hình X một cách tự động hãy sử dụng
chương trình Xorg với tùy chọn -configure. Chỉ cần chạy câu lệnh sau (hãy
chú ý là cần có quyền người dùng root:
[root]# Xorg -configure
Câu lệnh này sẽ làm việc một cách im lặng, sau khi hoàn thành nó sẽ tạo ra tập
tin xorg.conf và đặt tập tin này vào thư mục /etc/X11. Xin đừng quên câu
lệnh Xorg khác với câu lệnh xorg! Như đã nói từ trước trên Linux chữ thường và
chữ hoa có sự khác nhau rõ ràng.
Tuy nhiên rất có thể bạn sẽ muốn tự tạo cho mình một tập tin cấu hình riêng,
hoặc đơn giản là muốn kiểm soát quá trình này. Trong XFree86 phiên bản thứ
4, tiện ích chính dùng để tự tạo một tập tin cấu hình (XF86Config-4) là chương
trình xf86config (đôi khi xf86cfg). Trong X.org chương trình này đã được
thay thế bằng xorgconfig. Trên thực tế theo tôi thấy thì hai chương trình này
không có gì khác nhau, chỉ có điều xorgconfig sau khi hoàn thành công việc sẽ
tạo ra xorg.conf chứ không phải XF86Config-4 như trường hợp xf86config.
Trên dòng lệnh hãy chạy:
[root]# xorgconfig
rồi trả lời những câu hỏi mà chương trình này đặt ra. Nếu không muốn tiếp tục
thì hãy nhấn <Ctrl>+<C> để thoát ra.
Còn một tiện ích khác có thể dùng để cấu hình máy chủ X, đó là xorgcfg.
Nhưng chương trình là ứng dụng đồ hoạ, tức là chỉ chạy trên nền một máy chủ
X đã chạy nào đó (hình
7.2), do đó không có ích trong trường hợp bạn chưa
có một cấu hình X nào. Hãy đọc các trang hướng dẫn sử dụng man tương ứng
xorgconfig(1) và xorgcfg(1) để biết thêm chi tiết. Ngoài ra, mỗi bản phân
phối hiện đại có một công cụ cấu hình riêng của mình, đôi khi rất mạnh. Ví
dụ bản phân phối OpenSUSE có sax2. Hãy sử dụng những chương trình này.
Chúng sẽ giúp bạn tiết kiệm được nhiều thời gian.
172 Giao diện đồ hoạ
Hình 7.2: Cấu hình X.org qua xorgcfg
Bằng một trong những công cụ ở trên bạn đã tạo ra được tập tin cấu hình
xorg.conf. Chúng ta sẽ xem tập tin này trông như thế nào (có nghĩa là dùng
câu lệnh xem tập tin more hoặc less hoặc dùng một chương trình soạn thảo văn
bản như vim để mở nó). Dưới đây là ví dụ một tập tin xorg.conf có trên máy
của tôi sau khi cài đặt openSUSE Linux 10.1:
# Version: 7.1
# Contact: Marcus Schaefer <sax@suse.de>, 2005
# Contact: SaX-User list <https://lists.berlios.de/mailman/listinfo/sax-users>
#
# Automatically generated by [ISaX] (7.1)
Section "Files"
InputDevices "/dev/gpmdata"
InputDevices "/dev/input/mice"
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/local"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/URW"
FontPath "/usr/X11R6/lib/X11/fonts/truetype"
FontPath "/usr/X11R6/lib/X11/fonts/uni:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/CID"
FontPath "/opt/kde3/share/fonts"
FontPath "/usr/local/share/fonts"
EndSection

Đây là phiên bản tài liệu đơn giản

Xem phiên bản đầy đủ của tài liệu Giao diện đồ hoạ