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