1
Hệ điều hành Linux
Lê Đình Long
2
Chương 9
Hệ thống X Window
3
Nội dung
Linux Fundamentals
Giới thiệu X Window
Các thành phần của hệ thống X
Cấu trúc thư mục XFree86
Cấu hình X
Thực thi X
X font server
Font và bộ gõ tiếng Việt
Hiển thị từ xa
HCMUNS
4
X Window System
Linux Fundamentals
X Window / X / X11
Môi trường giao diện người dùng đồ họa trên Unix
và nhiều hệ máy khác
Hệ thống hiển thị đồ họa linh động, trong suốt ở
mức mạng
Mô hình client-server
Hệ thống X Window: phần mềm client/server, giao
thức, thư viện lập trình
Phiên bản hiện tại: X11R6
Bản hiện thực X11R6 cho Linux: XFree86
HCMUNS
5
Thành phần hệ thống X
Linux Fundamentals
X server
●
Chương trình thực thi trên máy tính có gắn màn hình
●
Điều khiển xuất/nhập (hiển thị/chuột, bàn phím)
X client
●
Các ứng dụng cần hiển thi đồ họa thông qua X server
●
Có thể chạy tại chỗ hoặc từ xa
●
Giao tiếp với X server bằng giao thức X (X protocol)
Window manager
●
Quản lý cách các window được hiển thị và điều khiển
●
Là một X client đặc biệt
X font server
●
Cung cấp font hiển thị trên một server tập trung
HCMUNS
6
Cấu trúc thư mục XFree86
Linux Fundamentals
/usr/X11R6
●
bin
●
include
●
lib
●
man
●
share
/etc/X11
●
xinit
●
fs
●
xdm
HCMUNS
7
Cấu hình X
Linux Fundamentals
File cấu hình
●
/etc/X11/XF86Config
Công cụ cấu hình
●
redhat-config-xfree86
●
Xconfigurator
●
xf86cfg
●
xf86config
HCMUNS
8
redhat-config-xfree86
Linux Fundamentals HCMUNS
9
File XF86Config
Linux Fundamentals
Files
●
FontPath
Module
●
Keyboard
●
Mouse
InputDevice
Monitor
Device
Screen
●
Display
HCMUNS
1
0
Thực thi X
Linux Fundamentals
Graphic login manager: xdm, gdm, kdm
startx – script khởi tạo một phiên làm việc mới
trên X, dùng để gọi xinit
xinit – khởi động hệ thống X
$ startx
HCMUNS
1
1
Tên display của X server
Linux Fundamentals
Mỗi X server có một tên display dạng
hostname:displaynumber.screennumber
●
Tên local – :0, :1, :0.0
●
Tên remote – oscar:0, 192.168.0.1:0.0
Giá trị của tên display hiện tại được lưu trong biến
môi trường DISPLAY
Hầu hết các ứng dụng X chấp nhận tham số dòng
lệnh “-display displayname”
$ xterm -display :1
HCMUNS
1
2
Môi trường desktop
Linux Fundamentals
Window manager, hệ thống menu, thanh công cụ,
biểu tượng, phần mềm tiện ích
Một số môi trường desktop phổ biến
●
KDE
●
GNOME
●
XFCE
●
Blackbox/Fluxbox
●
twm
●
WindowMaker
HCMUNS
1
3
fluxbox
Linux Fundamentals HCMUNS
1
4
xfce4
Linux Fundamentals HCMUNS
1
5
Chuyển đổi desktop
Linux Fundamentals
Lựa chọn môi trường desktop ở giao diện login
switchdesk – công cụ chuyển
đổi desktop
/etc/sysconfig/desktop
DESKTOP=KDE
~/.Xclients, ~/.Xclients-default
~/.wmrc
kde
~/.xinitrc
HCMUNS
1
6
xfs - X font server
Linux Fundamentals
Phục vụ các yêu cầu font hiển thị cho X client qua
local unix socket hoặc tcp socket (port 7100)
File cấu hình:
●
/usr/X11R6/lib/X11/fs/config
●
/etc/X11/fs/config
Khai báo thư mục chứa font trong file cấu hình
catalogue = /usr/X11R6/lib/X11/fonts/misc/:unscaled,
/usr/X11R6/lib/X11/fonts/75dpi/:unscaled,
/usr/X11R6/lib/X11/fonts/100dpi/:unscaled,
/usr/X11R6/lib/X11/fonts/Type1/,
/usr/X11R6/lib/X11/fonts/Speedo/,
/usr/share/fonts/default/TrueType/,
/usr/share/fonts/default/Type1/
HCMUNS
1
7
Tiện ích thao tác font
Linux Fundamentals
mkfontdir – tạo font index
ttmkfdir - “mkfontdir” cho font TrueType
chkfontpatch – liệt kê, thêm bớt fontpath cho xfs
(Red Hat)
xlsfonts – liệt kê font
xset – thiết lập tùy chọn display mức người dùng
HCMUNS
1
8
Cài đặt thêm TrueType font
Linux Fundamentals
Trên các phiên bản Red Hat 8.0 về sau:
●
Copy *.ttf vào /usr/share/fonts/ (mức hệ thống) hoặc
●
Copy *.ttf vào ~/.fonts (mức user)
$ mkdir ~/.fonts
$ cp font_source/*.ttf ~/.fonts/
Cài đặt thêm cho xfs (mức hệ thống)
# mkdir /usr/share/fonts/ttf
# cd /usr/share/fonts/ttf
# cp font_source/*.ttf ./
# ttmkfdir > fonts.scale
# mkfontdir
# chkfontpath -a /usr/share/fonts/ttf
# /etc/init.d/xfs restart
HCMUNS
1
9
Cài đặt thêm TrueType font
Linux Fundamentals
Thêm fontpath cho display hiện tại (mức user)
$ mkdir ~/myfonts && cd ~/myfonts
$ cp font_source/*.ttf ./
$ ttmkfdir > fonts.scale
$ mkfontdir
$ xset +fp ~/myfonts
$ xset fp rehash
HCMUNS
2
0
Cài đặt bộ gõ tiếng Việt
Linux Fundamentals
Xvnkb -
Cài đặt từ gói rpm
# rpm -ihv xvnkb-0.2.8-1.i386.rpm
# /usr/local/bin/xvnkb_setup.sh
Cài đặt từ mã nguồn
$ tar jxvf xvnkb-0.2.8.tar.bz2
$ cd xvnkb-0.2.8
$ ./configure
$ make && make install
Kiểm tra hoạt động
$ echo $LD_PRELOAD (/path/to/xvnkb-0.2.8.so)
$ echo $LANG (*UTF-8)
HCMUNS
2
1
Hiển thị từ xa
Linux Fundamentals
Hiển thi đồ hoạ của ứng dụng X ra display từ xa
bất kỳ qua mạng
2 cách thực hiện:
●
Thiết lập biến môi trường DISPLAY
$ export DISPLAY=my_ws:0
$ xterm
●
Chạy ứng dụng với tuỳ chọn “-display”
$ xterm -display 192.168.0.1:0
Kiểm soát truy cập display – xhost
$ xhost +workstation1
$ xhost -workstation2
$ xhost +
HCMUNS
2
2
Q & A