Kiến Thức Cơ Bản Slackware Linux

4.3Hệ thống X Window

Hệ thống X Window được coi là hệ thống đồ hoạ tiêu chuẩn cho người sử dụng(GUI) dưới tất cả các phiên bản Unix và Linux.Khác với Windows,MacOS,trong Linux và Unix thì GUI không có gì chung với Nhân của hệ thống.Nó là phần không phụ thuộc.Điều này làm cho hệ thống bền hơn.

Một vấn đề duy nhất của X Window là khó khăn trong công việc xây dựng cấu hình.Chính thế mà trong Slackware 7 đã không xây dựng cho X  mà sử dụng framebuffer drivers.Có nghĩa là bạn không cần phải trải qua giai đoạn soạn thảo cấu hình ở phần xf86config và XF86Setup,framebuffer sẽ làm việc trên tất cả VESA 2.0 - Tương thích videocard.Có nghĩa là trong tương lai thì tất cả các video-card sẽ làm việc ở X.Tuy nhiên framebuffer làm việc chậm hơn so với khi xây dựng đúng câu hình video-card của bạn.

Nếu như bạn quyết định sử dụng framebuffer thì hãy cài đặt package xxfb.tgz từ khu vực chương trình X.Bạn cần phải chọn một trong các cỡ của console trong quá trình cài đặt.Tuy nhiên chúng tôi khuyên các bạn lên cấu hình cho X.

Nếu bạn sử dụng X trên hệ thống thì cần xem ở phần 4.3.1 và 4.3.2.Phần đầu miêu tả cách sử dụng xf86config(1)-chương trình ở dạng dòng lệnh.Còn phần hai là liên quan đến XF86Setup(1) - Chương trinh hoạt động ở chế độ đồ  họa.

 4.3.1 xf86config

xf86config là một trong hai chương trình dùng để xây dựng cấu hình X cho hệ thống.Ý tưởng của qúa trình rất đơn giản - Bạn chỉ cần trả lời các câu hỏi một cách chính xác.Sau  đó  chương trình tạo ra tệp tin cấu hình: /etc/XF86Config(5).Bấy giờ bạn hãy chuẩn bị khởi động X.Nếu nhầm lẫn thì bạn cần phải ngừng lại quá trình,bằng tổ hợp ctrl+c và lập lại công việc từ ban đầu.

Một việc đáng làm là bạn phải chuẩn bị kĩ lưỡng các thông tin về video-card cùng monitor(màn hình).Bạn có thể nhận được thông tin về video-card với chương trình:

#SuperProbe

Chương trình khi chay sẽ nhắc nhở bạn về khả năng nhấp nháy của hệ thống.Nếu bạn sợ thì sau khoảng 5s mà vẫn chưa kết thúc thì hãy nhấn ctrl+c.Tuy nhiên bất chấp,bạn vẫn tiếp tục và tất nhiên bạn sẽ nhận được thông tin về video-cars của bạn như sau:

First video: Super-VGA
Chipset: ATI 264GT3 (3D Rage Pro) (Port Probed)
Memory: 4096 Kbytes
RAMDAC: ATI Mach64 integrated 15/16/24/32-bit
        DAC w/ clock
        (WITH 8-BIT WIDE Lookup tables)
        (programmable for 6/8-bit wide lookup tables)
Attached graphics coprocessor:
       Chipset: ATI Mach64
       Memory: 4096 Kbytes

Đây là thông tin về ATI Rage Pro video-card.Hãy ghi nhớ những thông tin trên và chuyển sang một VT(virtual terminal) để làm việc(sử dụng tổ hợp phím Alt+F2,,,hoặc Alt+F6),tại đây bạn sử dụng xf86config để tiến hành công việc.Thông tin về video-card sử dụng sau này.xf86config cần phải được chạy dưới root,bởi vì nó sẽ tạo ra các tệp tin cũng với links vào những vị trí mà chỉ có root mới có quền kiểm soát.

#xf86config

Sau khi chạy chương trình thì bạn sẽ nhìn thấy thấy một màn hình đầy thông báo nói sơ lược về công việc mà bạn đang định làm.Nhớ rằng bạn không thể quay trở lại mục trước nếu khai báo sai,chính vì thế hãy trả lời thật chính xác.Ngược lại bạn sẽ phải làm lại rất nhiều lần.

Mouse Protocol



Bạn sẽ nhìn thấy danh sách các dạng chuột thông dụng.Hãy chọn dạng của mình.Thông thường là PS/2 hoặc Microsoft Intellimouse.Những loại cổ điển có lẽ cần những protocol khác(cổ điển).

Emulate3Buttons



Nếu chuột của bạn có hai nút,nhưng bạn vẫn có thể chọn ở chế độ ba nút.Hãy nhấn hai nut đồng thời sẽ như là sử dụng nút thứ ba.Bởi vì có nhiều chương trình cần nó cho nên khuyến khích các bạn sử dụng tính năng này.Tuy nhiên nếu bạn đã có ba nút trên chuột rồi thì câu trả lời sẽ không quan trọng.

Mouse device name



Thông thường theo mặc định là  /dev/mouse.Nếu chuột của bạn kết nối với cổng lạ thường thì bạn phải nhập vào một cái khác.

XKEYBOARD extension


Nếu như bạn không chọn mục này thì dẫn đến một cái gi đó rất lạ cho các phím backspace và delete.Việc chọn lựa này làm cho chúng làm việc một cách bình thường.

Bindings for alt keys



Nếu như bạn biết sử dụng các ngôn ngữ khác nhau thì bạn hãy lên chọn chức năng này.Nếu bạn chỉ sử dụng tiếng anh thì không cần bật nó lên.

Horizontal sync range



Câu hỏi đầu tiên về màn hình của bạn.Nó rất là quan trọng khi chọn lựa.Đừng chọn chiều ngang vượt quá giới hạn cho phép của màn hình.Tuy nhiên nó không nguy hiểm với các màn hình hiện đại bởi vì chúng có bộ phận bảo vệ,không cho phép vượt quá giới hạn.Những màn hình cổ xưa có thể bị hư hại khi vượt quá mức độ cho phép của màn hình.Sẽ rất là có lợi nếu bạn có trong tay tài liệu về màn hình.Thông thường với các màn hình đương thời có thể chọn 31.5-48.5 hoặc 31.5-57.0.Nếu ai đó có màn hình chất lượng cao hơn thì có thể chọn chiều ngang nhiều hơn.Hoặc bạn có thể nhập vào thông số của mình nếu chúng không có trong danh sách.

Vertical sync range



Lại làm lại hệt như thế.Bạn lên dựa vào tài liệu để trả lời chính xác câu hỏi.Tuy nhiên không có gì lạ nếu bạn chọn trong khoảng nhỏ.Một chọn lựa an toàn là trong khoảng 50-90 hoặc 50-100.Ngược lại bạn có thể tự điền vào thông số của mình.

Identification strings



Bây giờ sẽ là câu hỏi về sự ăn khớp với màn hình của bạn.Câu này không quan trọng lắm.Bạn có thể bỏ trống không trả lời.Bạn có thể điền tên mà bạn thấy là đúng.Nó chỉ dùng trong têp tin cấu hình để tương hợp.

Video card database



Đây là một phần lớn khi xây dựng cấu hình X,nó quan hệ đến video-card của bạn.Những thông tin về video-card khi sử dụng SuperProbe sẽ giúp bạn.Có lẽ bạn thích tham khảo thử cơ sở video-card của hệ thống.Hãy nhấn 'y" và Enter.Bạn sẽ nhìn thấy một hệ thống video-card khoảng 800-card.Bên tay trái là tên và số của mỗi card.Ở bên phải là thông tin về chipset được sử dụng trên card này.Để tiếp tục hãy nhấn Enter,nếu như chưa tìm thấy video-card của mình.Khi bạn tìm thấy nó hãy điền số của nó vào và nhấn Enter.Nếu bạn không biết dạng video-card của bạn là gì thì có thể có các cách sau:

Bạn có thể xem dòng "Chipset" ở kết quả thu được nhờ SuperProbe,và tìm loại chipset như thế trong bảng dữ liệu trên.
Đơn giản hơn bạn có thể sử dụng  chipset "generic SVGA" cho video-card.Có rất nhiều card không có mặt trong dữ liệu của X server tuy nhiên chúng vẫn làm việc dưới SVGA server.Dù thế nào đi nữa bạn cũng vẫn phải chọn card-video.Đó là sự chọn lựa của bạn.Sau đó bạn nhận được các thông tin chi tiết hơn.Để tiếp tục bạn sẽ có thông báo sau:(chúng ta vẫn dùng ví dụ là ATI  Rage Pro)



Your selected card definition:
Identifier: ATI Mach64
Chipset: ATI-Mach64
Server: XF86_Mach64
Do NOT probe clocks or use any Clocks line

Bây giờ bạn phải kiểm tra xem bạn đã cài đặt packages server chưa.XF86-Mach64 server nằm ở packages xma64.tgz.

Video memory



Hãy chọn dung lượng bộ nhớ mà có trong video-card của bạn(Bạn có thể sử dụng SuperProbe để lấy được thêm thông tin).Nếu như chúng không có trong danh sách thì bạn có thể chọn "Other" và  điền bằng tay.Chú ý thông tin nhập vào tính theo Kb.

Video modes
Có thể hình dung nó như sau:

"640x480" "800x600" "1024x768" "1280x1024" for 8bpp
"640x480" "800x600" "1024x768" "1280x1024" for 16bpp
"640x480" "800x600" "1024x768" "1280x1024" for 24bpp
"640x480" "800x600" "1024x768" for 32bpp

Bạn phải chọn chế độ kích thước cho môi trường làm việc X.Chắc hẳn bạn sẽ nhìn thấy bốn dòng trên đại diện cho bốn loại mầu sắc:
8bpp, 16bpp,24bpp и 32bpp.Ứng với mỗi loại mầu sắc có các loại  chế độ kích thước môi trường làm việc khác nhau của X.Khi chạy X thì nó sẽ  sử dụng mầu sắc theo ngầm định và với một chế độ  kích cỡ cho phép(đã được bạn chọn ).Nếu bạn muốn thay đổi chế độ kích cỡ môi trường làm việc của X thì hãy làm việc đó ngay bây giờ.
Nếu bạn muốn X chạy trên một chế độ kích cỡ khác theo mặc định thì đầu tiên hãy chọn mầu sẵc cho hệ thống(mà bạn muốn thay đổi),còn sau đó hãy đọc những chỉ dẫn của chương trình.Nó sẽ yêu cầu bạn nhập vào con số tương ứng với kích thức của môi trường làm việc trong các thứ tự trên.Nếu bạn chỉ đơn giản muốn thay đổi thứ tự chế độ kích thước của môi trường làm việc thì có lẽ chỉ cần điền vào như sau:

Which modes? 5432

Và bạn cũng có thể  xóa bỏ đi chế độ kích cớ làm việc của môi trường mà bạn muốn.Nếu như video-card của bạn không thể làm việc ở chế độ 1280x1024 thì tất nhiêu chẳng cần thử nó làm gì cả.Bạn có thể xóa nó bằng cách trả lời

Which modes? 432
Sau khi chọn chế độ kích cỡ làm việc cho môi trường,chương trình sẽ hỏi bạn có muốn sử dụng màn hình ảo mà có kích thước to hơn màn hình thực tế của bạn.Sử dụng màn hình ảo:"có nghĩa là khi bạn di chuyển con trỏ đế các góc giới hạn của màn hình thì không gian sẽ chuyển động lùi lại đẩy con trỏ đi xa hơn tới góc giới hạn ảo của màn hình.Mặc dù màn hình to hơn nhưng hạn chế là bạn không thể nhìn thấy hết toàn bộ màn hình cũng lúc,nó sẽ phân tán bạn.Tuy nhiên hãy thử với nó.Sẽ rất là hấp dẫn.Như vậy đấy,nếu bạn muốn thì hãy tiếp tục sau đó ban sẽ quay trở lại danh sách chế độ video.
Sau khi thay đổi cho 24bpp  mầu sắc bạn sẽ nhìn thấy như sau:

"640x480" "800x600" "1024x768" "1280x1024" for 8bpp
"640x480" "800x600" "1024x768" "1280x1024" for 16bpp
"1280x1024" "1024x768" "800x600" "640x480" for 24bpp
"640x480" "800x600" "1024x768" for 32bpp
Bạn hãy tiếp tục  biến đổi đối với các mầu còn lại nếu bạn muốn.

Write the config file 
 
Vậy là xf86config đã hoàn thành việc thiết lập cấu hình X.Chương trình sẽ hỏi bạn sẽ ghi vào tập tin /etc/X11/XF86Config hay không. Tất nhiên sẽ là có vì bạn muốn sử dụng X,bạn hãy trả lời "y".Đây chính là tập tin cấu hình mà khi X khởi động sẽ tìm đến nó.
Nếu bạn trả lời đúng các câu hỏi và đã cài đặt X server thì ngay lúc này có thể chạy X được rồi.

$ startx

Nếu bạn cài KDE hoặc GNOME thì một trong chúng sẽ được thực thi.Ngược lại bạn phải chạy xwmconfig  để chọn lựa trình điều khiển cửa sổ nào mà bạn thích và nó sẽ được chạy theo mặc định.xwmconfigdùng để xác định trình điều khiển cửa sổ cho các tài khoản.Nếu trên hệ thống có nhiều tài khoản thì mỗi người từ họ phại chạy xwmconfig để xác địng cho một trình điều khiển cửa sổ riêng.
Tồn tại một vài tổ hợp phím rất có lợi khi sử dụng X.Nếu bạn muốn thoát khỏi X mà không thể làm đúng theo quy tắc thì bạn có thể sử dụng control-alt-backspace,dùng để tiêu diệt X và đưa bạn vào vỏ lệnh.Bạn có thể chuyển từ X vào terminal bằng tổ hợp phím Ctrl+Alt+Fx(x=1,,6). X đang chạy trên terminal thứ 7,và bạn muốn quay trở lại X thì có thể làm như sau: nhấn phím Alt+F7.

4.3.2 XF86Setup

Phương pháp thứ hai cho X - chương trình XF86Setup,sử dụng ở chế độ đồ họa.Bạn hãy cài đặt package xset.tgz và đừng quên xvg.tgz.
Để chạy XF86Setup,hẵy đăng nhập như root sau đó nhập lệnh:

#XF86Setup

Nếu như bạn đã có tệp tin /etc/XF86Config(bạn đã xây dựng X)thì chương trình sẽ hỏi bạn có sử dụng tệp tin nay hay không.Ngược lại chương trình sẽ bắt đầu làm việc(ở chế độ đồ hoạ).

XF86Setup về bản chất giống như xf86config,nó sẽ hỏi bạn một loạt các câu hỏi về hệ thống của ban.Hãy nhớ những thông tin bạn có để xây dựng X.Bản thân XF86Setup chứa rất nhiều thông tin sẽ giúp đỡ bạn thiết lập cấu hình hệ thống.

4.3.3 xinitrc

xinit(1) - có thể nói là một chương trình khởi động X.Nó thực hiện từ startx(1),điều này có thể bạn không nhận thấy(Tuy nhiên có thể cần và cũng có thể không).Tuy nhiên nó sử dụng để quyết định chương trình nào sẽ chạy khi khởi động X(bao gồm trình điều khiển cửa sổ).xinit đầu tiên kiểm tra có hay không ở catalog home của bạn tệp tin .xinitrc.Nếu như có thì sẽ thực hiện,còn nếu không thì sẽ thực hiện ở /var/X11R6/lib/xinit/xinitrc(theo mặc định).Đây là ví dụ về tệp tin xinitrc:

# !/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
    xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi
# start some nice programs
twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login

Tất cả từ những block "if" được sử dụng để kết nối những tập tinChúng ta sẽ nhanh chóng xem xét đến tập tin .Xresources, còn tập tin .Xmodmap chúng ta không làm gì cả.Tuy nhiên phần mà hấp dẫn nhất chính là ở phần cuối cùng(nơi mà chạy những chương trình khác nhau).X-session bắt đầu với twm(1)-trình điều khiển cửa sổ,với đồng hồ,với ba terminal.Bạn chú ý đến dòng exec ở dòng cuối cùng của terminal.Lệnh này nói rằng terminal này(xterm(1)) sẽ thế chỗ cho vỏ lệnh hiện hành(cái mà dung để chạy script xinit).Khi mà người dùng thoát khỏi xterm này thì X-session cũng kết thúc.Nếu bạn thích xác định xem chương trình nào sẽ chạy trong X session thì hãy sao chép  /etc/X11R6/lib/xinit/xinit.rc vào ~/.xinitrc và soạn thảo lại nó,đừng quên bổ sung vào nó dòng lệnh để chạy các chương trình mà bạn muốn.Nó sẽ tương tự như sau:

# Start the window manager:
exec startkde

Chú ý rằng có một vài xinitrc.* tập tin ở catalog /var/X11R6/lib/xinit mà tương ứng với những trình điều khiển cửa sổ và GUI.,bạn có thể sử dụng nó tùy thích.

.Xresources và .Xdefaults

Có rất nhiều thứ từ X mà gây được sức hấp dẫn với người sử dụng(mầu sắc,fonts..) khi sử dụng Xresource Database.Nó là cơ sở dữ liệu được làm việc bằng xrdb(1),tuy nhiên bạn sẽ không bao giờ sử dụng đến chúng.Trong Slackware nó tự động bật lên từ .xinitrc.Tệp tin mà xinit chỉ định xrdb khởi động là /.Xresources,và xrdb cũng khởi động /.Xdefaults.

Cấu hình nhỏ nhất của tập tin .Xresources có dạng sau:

xterm*background: black
xterm*foreground: gray
xterm*scrollBar: true
xterm*font: -*-lucidatypewriter-*-r-*-*-15-*-*-*-*-*-*-*

Bốn dòng trên xác định cấu hình cho xterm.còn Xresource có dạng sau:

program*option: setting/value

Như vậy nội dung của .Xresources cần phải đủ để cho nó tự hiểu.Đừng sợ về cách ghi phông chữ.Các phông chữ của X thường ghi ở dạng như thế.
Server và trình điều khiển

Đầu tiên X được sử dụng qua mạng.Một server rất lớn để chạy các chương trình X.Chúng  được hiển thị trên màn hình của các máy clients tất nhiên thuộc mạng. Khả năng sử dụng các chương trình trên các máy ở xa có thể có nhiều tiềm năng tuy nhiên hạn chế của nó là vấn đề an toàn.Các chương trình khi thực thi sẽ kém phần an toàn hơn là so với thực hiện trên bản thân máy.Và đừng quên nó cũng đòi hỏi về tài nguyên mạng.Bạn có thể tìm thấy những nhận xét về mục này ở phần 4.3.5

Thậm chí ngay cả khi bạn chạy X trên máy cá nhân,bạn cũng phải có một cấu trúc server-client.Server là phần mà xác định video-card.Khi bạn xây dựng X thì bạn đã thông báo cho nó rằng bạn có video-card nào,loại gì mà X sẽ sử dụng.Client - là phần còn lại(chương trình...) mà bạn thực hiện trong X.Trong đó client đặc biệt là trình điểu khiển cửa sổ.Có lẽ đó là một chương trình khó nhưng nhờ có nó bạn có thể làm mọi thứ.Trong nó có các tham biến đi kèm mà có thể làm cho hình dạng desktop của bạn khác hẳn với của những người khác.

Hầu như số lượng các trình điều khiển cửa sổ của Linux khác với Windows.Trong Windows thì bạn có một môi trường làm việc chính,còn trong Linux có thể sử dụng một trong một tập hợp các trình điều khiển.Mỗi trình khác nhau ở bề ngoài và cấu trúc bên trong.Một số người cho rằng đó là một vấn đề thiếu sót,không co dạng chuẩn chung.Tuy nhiên các nhà sử dụng Linux thì lại coi đó là một phong cách mới,có thể xây dựng hệ thống của mình theo ý muốn.

4.3.4 Chọn lựa môi trường làm việc

Rất lâu rồi Unix được sử dụng một cách đặc biệt như một Server là bởi vì nó là một trạm làm việc năng suất và chuyên nghiệp.Chỉ những người có kiến thức kĩ thuật không chuẩn mới sử dụng Unix như một HĐH, và interface của nó cũng tương ứng với điều này.GUI được sử dụng cốt chỉ để làm việc với những chương trình cần thiết như CAD và image render.Việc điều khiển hệ thống được sử dụng bằng câu lệnh từ vỏ lệnh.Những hãng sản xuất như Sun Microsoft,Silicon Graphic...bán những trạm làm việc của mình với các thử nghiệm như "look" và "feel",tuy nhiên tất cả các dạng khác nhau của GUI đều dẫn tới làm mất đi dạng truyền thống môi trường làm việc.Các thanh cuộn có các hình dáng khác nhau trong các trình khác nhau.Menu có thể nằm ở các vị trí khác nhau trên cửa sổ.Trong chương trình có thể bắt gặp nhiều nút điều khiển...cho đến khi bạn chở thành chuyên nghiệp thì điều đó không quan trọng nữa.

Cùng với sự xuất hiện các phiên bản Unix tưc do và sự tăng trưởng các chương trình ứng dụng đồ họa(graphic) thì X đã trở thành môi trường làm việc chính.Hầu như có thể nói bề ngoài giống như Windows và MacOS,hạn chế của nó là nhằm vào các ứng dụng cho X và đã có cạnh tranh để chiếm ưu thế sử dụng.Đó chính việc xuất hiện hai kế hoạch lớn với mã mở là KDE và GNOME.Cả hai đều có những chiều hướng phát triển mạnh mẽ.Từ trình điều khiển các tiến trình,cũng như trình điều khiển hệ thống tập tin,openoffice,..và cả games nữa...tất cả đều hướng tới để đạt được một môi trường làm việc hoàn thiện.

Giữa KDE và GNOME có sự khác nhau rất lớn.Chúng đi theo các chiều hướng khác nhau bởi vì được lập trình trên các GUI toolkit khác nhau.KDE dựa trên thư viện Qt từ Troll Tech AS còn khi đó GNOME dựa chủ yếu vào  GTK và tổ hợp các công cụ khác mà được tạo ra cho GNU image Manipulation Program(GIMP).Nguyên nhân là các bản thiết kế được tạo ra không phụ thuộc vào nhau,và được cải thiện bởi các nhà lập trình khác nhau,các phong cách và ý tưởng khác nhau.Tuy nhiên kết quả của cả hai là một nền tảng vững chắc và đầy đủ cho một môi trường làm việc cũng như tập hợp các chương trình ứng dụng.

Một trong những điều đáng giá là chúng miễn phí.Bạn có thể nhận được một trong số chúng thậm chí cả hai trên cùng một máy tính.
Cùng với KDE và GNOME thì trên Slackware còn được trang bị một khối lượng lớn các trình điều khiển cửa sổ.Một vài trong số chúng làm việc như emulator(mô phỏng) trên cá OS khác,còn một số được cấu hình để tăng tốc độ cho hệ thống.Sự chọn lựa rất lớn.Bạn có thể cài đặt bao nhiêu tùy ý,có thể làm việc với chúng và chọn cái nào mà bạn thích nhất.
Để mà chọn môi trường làm việc thì chúng tôi khuyên bạn nên sử dụng xwmconfig.Nó giúp bạn chọn trình quản lý cửa sổ nào hợp lý cho bạn.

$xwmconfig


Như vậy bạn sẽ nhìn thấy danh sách tất cả các màn hình và các trình điều khiển cửa sổ trên hệ thống của bạn.Chỉ đơn giản,hãy chọn một trong số chúng.Mỗi một tài khoản sử dụng một trình riêng,tuy nhiên các tài khoản khác nhau có thể sử dụng các trình khác nhau.Có thể bạn không thích cái nào cả thì có thể đơn giản gọi X ra như sau:

$startx

4.35. Dùng chung màn hình

Như chúng ta đã nhận thấy có khả năng chạy X trên một máy tính và thông tin được hiện trên máy khác.Có lẽ nó sẽ ảnh hưởng đến tốc độ khi truyền qua mạng.Tất nhiên bạn sẽ không làm điều đó qua modem hoặc khoảng cách qúa xa,đấy không kể là không an toàn trên quãng đường truyền tải thông tin.Việc dùng chung màn hình cho phép các máy khác có thể quan sát được các hoạt động trên máy bạn.Điều đó có lợi nếu bạn ở trong mạng nội bộ.

Ở đây cần xác định client và server.Khi bạn phân chia màn hình thì bạn sẽ xác định đâu là server đâu là client.Máy mà chạy X và gửi hình ảnh qua mạng gọi là Server.Còn máy mà nhận hình ảnh(hình ảnh được hiển thị trên đó) gọi là client.

Ở trong ví dụ này chúng ta sử dụng hai máy:golf - là một server tốc độ cao,đặt trên bàn trong một mạng lưới phân chia kiểu hình tròn bởi một số người và các thiết bị phần cứng.Trên nó có nhiều bộ nhớ và một processor tốc độ cao.Trên nó có đầy đủ  các chương trình của X nhưng không có màn hình .Trong lúc đấy tại một điểm khác trên mạng là một máy couch - đời cổ,bộ nhớ ít,đĩa cứng không lớn,processor tốc độ không cao,có màn hình.Trên nó không có đủ tài nguyên để chạy các chương trình như là  Netscape.Bạn không cần phải cố gắng để sử dụng nó bởi vì nó đã qua cổ rồi.Hãy đi đến giải pháp dùng chung màn hình.

Hãy vào couch và bật X,hãy khởi động terminal của bạn(xterm,rxvt,eterm,aterm..).Chú ý rằng bước đầu tiên xây dựng sử dụng màn hình từ xa là xây dựng client(có nghĩa là cấu hình để các máy khác có thể hiển thị các kết quả của chương trình).Để thực hiện điều này hãy dùng xhost.Nó kiểm soát quá trình truy cập.Nếu bạn ở trong một hệ thống mạng an toàn thì bạn có thể yên tâm nếu như có ai đó thấy các công việc mà bạn đang làm.Trong trường hợp này bạn chỉ cần cho phép mọi người trong mạng hiển thị những thông tin này trên màn hình.

couch $ xhost +

Nếu bạn không muốn mọi người nhìn thấy các hoạt động của bạn thì xhost có thể giúp bạn cho phép ai có quền theo dõi các hoạt động của bạn.Bạn có thể làm như sau:

couch $ xhost + golf.foc

Như vậy là bây giờ thì chỉ có golf.foc mới có quyền truy cập các thông tin trên màn hình của couch.Bạn có thể kiểm tra xem ai có quyền hiển thị các thông tin trên màn hình của chính mình bằng cách chạy xhost không có tham biến đi kèm.

couch $ xhost
access control enabled, only authorized clients can connect
INET:golf.foc
INET:localhost
INET:couch.foc
LOCAL:

Như vậy là đã kết thúc một bước.Tiếp theo là xây dựng server để nó biết nó sẽ hiển thị thông tin đi đâu.Bởi vì server không có màn hình có nghĩa là X trên nó không chạy được.Nó nhất định cần phải biết thông tin sẽ hiển thị đi đâu.

Cấu hình của Server không khó lắm.Sau đó,khi mà bạn đã liên kết với server song thì bạn cần phải thay đổi biến $DISPLAY.Theo ngầm định thì nó sẽ rỗng.Bạn cần gán biến này một giá trị bằng remote host(host từ xa) cộng với số mà thông tin sẽ hiển thị trên X session tương ứng.Tuy nhiên bạn chỉ có duy nhất một X session cho nên sẽ không nảy sinh vấn đề gì cả.
Đây là cách cần phải cài biến $DISPLAY trong ví dụ trên(nếu trên server sử dụng bash thì nó sẽ như sau:)

golf $ export DISPLAY=couch.foc:0.0

Đó là tất cả điều cần thiết để xây dựng server.Bây giờ bạn có thể ngắt liên kết và chạy X từ đấy.Tât cả các thông tin sẽ được gửi qua mạng cho bạn.

golf $ netscape &

Lệnh trên sẽ chạy netscape từ server những biến $DISPLAY chỉ sang couch cho nên tất cả sẽ hiển thị trên couch.Bạn sẽ không phải vứt bỏ vì nó quá cổ điển.Một điều quan trọng là trên server phải cài đặt hết tất cả các thư viện X và các tập tin khác cần thiết cho thực hiện các chương trình.Và tuy nhiên bạn cũng sẽ không cần tệp tin /etc/XF86Config bởi vì không có cái gì sẽ hiển thị trên màn hình Server.

Sau đó nếu bạn muốn ngắt,không muốn sử dụng chung màn hình nữa thì hãy xóa server từ danh sách cho phép trên client.

couch $ xhost - golf.foc

golf.foc being removed from access control list
couch $

Như bạn thấy có thể phân chia tài nguyên trên máy tính.Nhưng hãy cẩn thận bởi vì bạn có thể trở thành host của nhiều chương trình X cho các máy ở xa mà bạn không biết.

Mục Lục

Biên dịch: Vũ Dũng(vudung@mail.ru)
website:http://khigiacmoquayve.narod.ru
1-9-2005 Voronezh Russian
Hosted by uCoz