2.1.X window讲解
Download
Report
Transcript 2.1.X window讲解
河南宏力集团网络管理部内部Linux培训
X window 简介
刘西洋
第二部分:Linux桌面
大纲
简单介绍
X组成部分
工作原理
主要文件
从头搭建一个X
1 简单介绍
X Window,即X Window图形用户接口。
She is not a software, but a protocol. She defin
e what is X , how can be X.
X Window 采用C/S模型
X Window独立,不与任何OS相关
X Window 主要组成部分有:
XServer :实现之一:Xorg
XClient:所有使用图形界面的应用程序。
XCharnel:例如,TCP/IP,DECnet
目前依据X的实现体中,以X Org最为普遍
且最受欢迎。
X Org所用的协议版本,X11,是在1987年9
月所发布。而今最新的参考实现(参考性、
示范性的实现体)版本则是X11 Release 7.5
(简称:X11R7.5)
此项目由X Org基金会所领导,且是以MIT
授权和相似的授权许可的自由软件。
2 X Window组成部分
2.1 X Server
X Server是一个显示管理进程,必须运行在一
个有图形显示能力的电脑上。
2.2 X Client
X Client,任何使用X Server显示其资料的程序。
2.3 X Charnel
X Charnel 即 X Protocol,采用现有主要协议进
行通信,比如,IPC或TCP/IP
2.1 X Server
Server是控制显示器和输入设备的软件。
Server可以创建视窗,在视窗中画图形和文
字,回应Client程序的requests,但它不会自
己动作,只有在Client程序提出需求后才完
成动作。
一台电脑上可同时运行多个X服务器,每个X服务
器能管理多个与之相连的显示设备。
X Server 实现有Xorg。
2.2 X Client
Client是使用系统视窗功能的一些应用程序。它是
Server的客户,要求Server回应它的请求,完成特
定的动作。 X Server是硬件的控制者,X客户只是
单纯的执行程序,只能使用X服务器提供的服务
进行输入输出。
X Client要显示图形图像,但它不能直接控制显示硬件,
只能使用用户面前的X Server提供的显示资源。
X Client要接受用户输入,它不能直接控制键盘鼠标,
也只能使用X Server来接受输入。
可运行在与X Server相同或不同的电脑上。
2.3 X Charnel
Server和Client之间传输信息的通道。凭借
这个通道,Client传送requests给Server。而S
erver回传status及其他一些信息给Client。
Server和Client的通信大致有两类:
Server和Client在同一台机器上执行,它们可以
共同使用OS上任何可用的通信方法
Client和Server在不同机器上运行。两者信息交
换须通过彼此都遵守的网络协议进行,最常用
的协议为TCP/IP。
3. X Window架构图和运行原理
X Client
NO. 1
X Client
NO.2
点一下鼠标发生了什么
敲一条显示命令又发生了什么?
Shell
Window Manager
Shell
X Client
NO. 4
X Client
NO.5
X Server
Kernel
Kernel
网线
Hardware
Hardware
带有X Window的电脑
没有X Window的电脑
在图例中,X服务器从键
盘鼠标获取输入内容,之
后将输入显示到屏幕,而
网页浏览器机终端机模拟
器则在用户端的本机系统
上执行。
此外,用户端也通过网络
与远端的机器、服务器保
持联系,以保持信息状态
的更新。
如此的机制及架构能是远
端执行的应用如同在本机
执行一样。
4.主要的文件
查找命令locate X11 | more
/etc/X11:X 配置文件
/usr/bin/X,Xorg: X Server可执行文件。
/usr/include/X11: X开发所需的头文件。
/usr/lib/X11:X库文件。
/usr/share/X11:X11 locale,xkb和fonts。
/var/log/Xorg.[1-9].log:Xorg分等级日志
4.1 Xorg配置文件
X Server出故障时一般都是配置文件错误,
所以安装完成系统,进入到桌面环境之后,
备份一下Xorg配置文件是一个很好的习惯。
在安装时如果没有设置X Window系统,之
后必须先行设置鼠标、键盘、显示器以及
显示卡等,这样才能成功启用X Window系
统,而这些设置都记录在/etc/X11/xorg.conf
文件中。这个文件的重要性可见一斑。
4.1.1 xorg.conf文件格式
xorg.conf由数个Section/EndSection的区块组
成,每个区块的格式如下:
Section “Section name"
Option
Option
option
…
EndSection
“value"
"value"
“value"
4.1.2 Section “ServerLayout”
ServerLayout定义X Server启动时外观,包
含多个ServerLayout时,默认使用第一个。
Section "ServerLayout"
Identifier
“Default Layout”
#标识
Screen
“Default Screen“
#显示
InputDevice
“Generic Keyboard“ #键盘输入
InputDevice
“Configured Mouse“ #鼠标输入
InputDevice
"stylus" "SendCoreEvents"
InputDevice
"cursor" "SendCoreEvents"
InputDevice
"eraser" "SendCoreEvents"
EndSection
4.1.3 Section “Files”
Section "Files"
FontPath
"/usr/share/X11/fonts/misc"
FontPath
"/usr/share/X11/fonts/cyrillic“
FontPath "/usr/share/X11/fonts/Type1“
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi“
……
EndSection
RgbPath:RGB数据库的路径。这个文件定义在X中所有有效颜色的
名称,并且指定数值。
FontPath:设置X Server寻找字体时的路径。可以同时使用多个路径,
但需用逗号隔开。
4.1.4 Section “Module”
Section "Module"
Load
“i2c“
#加载模块,包括硬件驱动,字体库等
Load
"bitmap"
Load
"ddc"
Load
"dri"
Load
"extmod"
Load
"freetype"
Load
"glx"
Load
"int10"
Load
"type1"
Load
"vbe"
EndSection
4.1.5 Section “InputDevice”
InputDevice用于设置鼠标或键盘等输入设备,
一般至少存在两个InputDevice Section。
Section "InputDevice“
Identifier “Generic Keyboard“ #标识
Driver
“kbd“ #驱动
Option
“CoreKeyboard“ 附加选项
Option
"XkbRules"
"xorg“
Option
"XkbModel"
"pc105“
Option
"XkbLayout" "us“
Option
"XkbOptions" "lv3:ralt_switch“
EndSection
Section "InputDevice"
Identifier
"Configured Mouse"
Driver
"mouse"
Option
"CorePointer"
Option
"Device“
"/dev/input/mice"
Option
"Protocol“
"ExplorerPS/2"
Option
"ZAxisMapping“
"4 5"
Option
"Emulate3Buttons” "true"
EndSection
Identifier:设置设备的名称。设备名称后面加上一个数字以区分多个
设备。比如两个键盘时,会有一个键盘的Identifier为Keyboard0。
在大多数的InputDevice Section中,有为数不等的以“Option”为首的
选项,并且包含特定的选项值。以供设置。
Option 选项名和选项取值可以在man手册中查得到。
4.1.6 Section “Monitor”
Monitor设置系统使用的显示器类型
Section "Monitor"
Identifier
"Monitor0" #标识
VendorName
"Monitor Vendor" #显示器制造商
ModelName
"Monitor Model“ #显示器类型
Option
“DPMS“
#能源之星支持
HorizSync
37-107
#竖直刷新频率Hz
VertRefresh
48-120
#水平刷新频率Hz
EndSection
4.1.7 Section “Device”
Device显示卡的信息内容,至少包含一个以
上的Device Section。
Section "Device“
Identifier
VendorName
BoardName
Driver
BusID
EndSection
”card0“
#显卡唯一标识
“card’s vendor“
#显卡厂商
“card’s mode“
#显卡型号
“vmware“
#显卡驱动
“PCI:0:15:0“
#总线地址
4.1.8 Section “Screen”
Screen合并引用Device和Monitor的部分,以
便能够形成成对的设置内容。
Section "Screen"
Identifier
Device
Monitor
DefaultDepth
SubSection
Depth
Modes
EndSubSection
EndSection
“Screen0“
#屏幕唯一标示
“card0 “
#使用的显卡
“ Monitor0“ #使用的监视器
24
#默认色深
“Display“
#显示模式定义
24
#色深
“1024×768” “800×600” #此色深允许的解析率
4.2 各Section关系
Module和Files定义文件位置和加载的驱动
Monitor,Device和InputDevice定义各设备
的设备驱动和工作参数
Screen组合显卡和显示器,定义显示模式。
以成输出设备,即屏幕。
ServerLayout组合输入设备和输出设备以构
成X Server
4.3 /usr/bin/Xorg命令
Xorg,X Server 可执行文件。典型用法为:
# Xorg –configure
X11 程序将尝试自动探测系统中的图形硬件,并将探
测到的硬件信息写入到工作目录下一个叫做 xorg.conf.n
ew 的配置文件。
# Xorg -config xorg.conf.new
测试现存的配置文件,
» Xorg 7.4 和更高的版本开始, 这个测试将显示出一个黑色的屏
幕,可以通过 retro 选项使用旧的模式:# Xorg -config xorg.con
f.new –retro 如果看到黑灰的格子以及 X 型鼠标指针, 就表示
配置成功了。
退出测试, 切换到启动 X 的vty之后按 Ctrl+C。
5 CentOS 手动安装X window
yum grouplist
yum -y groupinstall “X Window System”
yum -y groupinstall “Desktop”
yum -y groupinstall “KDE Desktop”
yum -y groupinstall “chinese support”
vi /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
vi /etc/inittab
id:3:initdefault:
startx
启动X图形界面的方法
1、startx
2、设置开机自动启动,修改/etc/inittab
id:3:initdefault: ------> id:5:initdefault:
3、init 5
默认桌面环境选择
一、设置GNOME或者KDE为默认的启动桌面环境
方法1:修改/etc/sysconfig/desktop,根据需要将“DESKTOP”后
面的参数设置为KDE或GNOME。
方法2:在当前用户目录下建立“.xinitrc”这个文件,文件的内容
就一行startkde或gnome-session。
二、GNOME和KDE的切换
1、如果需要切换到GNOME:
#switchdesk gnome
2、如果需要切换到KDE:
#switchdesk kde
#startkde
6 参考引用
X11,xorg.conf配置详解
http://www.linuxsky.org/doc/admin/200712/198.html
Xorg (简体中文)
https://wiki.archlinux.org/index.php/Xorg_(%E7%AE%80%E4%BD%
93%E4%B8%AD%E6%96%87)
FreeBSD 使用手册第5章 X Window 系统
http://www.freebsd.org/doc/zh_CN/books/handbook/x-config.html
X服务器配置指南
http://www.gentoo.org/doc/zh_cn/xorg-config.xml