1 / 26

X window 简介

X window 简介. 刘西洋. 大纲. 简单介绍 X 组成部分 工作原理 主要文件 从头搭建一个 X. 1 简单介绍. X Window ,即 X Window 图形用户接口。 She is not a software, but a protocol. She define what is X , how can be X. X Window 采用 C/S 模型 X Window 独立,不与任何 OS 相关 X Window 主要组成部分有: XServer :实现之一: Xorg XClient :所有使用图形界面的应用程序。

penn
Download Presentation

X window 简介

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. X window 简介 刘西洋

  2. 大纲 • 简单介绍 • X组成部分 • 工作原理 • 主要文件 • 从头搭建一个X

  3. 1 简单介绍 • X Window,即X Window图形用户接口。 • She is not a software, but a protocol. She define what is X , how can be X. • X Window 采用C/S模型 • X Window独立,不与任何OS相关 • X Window 主要组成部分有: • XServer :实现之一:Xorg • XClient:所有使用图形界面的应用程序。 • XCharnel:例如,TCP/IP,DECnet

  4. 目前依据X的实现体中,以X Org最为普遍且最受欢迎。 • X Org所用的协议版本,X11,是在1987年9月所发布。而今最新的参考实现(参考性、示范性的实现体)版本则是X11 Release 7.5(简称:X11R7.5) • 此项目由X Org基金会所领导,且是以MIT授权和相似的授权许可的自由软件。

  5. 2 X Window组成部分 • 2.1 X Server • X Server是一个显示管理进程,必须运行在一个有图形显示能力的电脑上。 • 2.2 X Client • X Client,任何使用X Server显示其资料的程序。 • 2.3X Charnel • X Charnel 即 X Protocol,采用现有主要协议进行通信,比如,IPC或TCP/IP

  6. 2.1 XServer • Server是控制显示器和输入设备的软件。 • Server可以创建视窗,在视窗中画图形和文字,回应Client程序的requests,但它不会自己动作,只有在Client程序提出需求后才完成动作。 • 一台电脑上可同时运行多个X服务器,每个X服务器能管理多个与之相连的显示设备。 • X Server 实现有Xorg。

  7. 2.2 X Client • Client是使用系统视窗功能的一些应用程序。它是Server的客户,要求Server回应它的请求,完成特定的动作。 X Server是硬件的控制者,X客户只是单纯的执行程序,只能使用X服务器提供的服务进行输入输出。 • X Client要显示图形图像,但它不能直接控制显示硬件,只能使用用户面前的X Server提供的显示资源。 • X Client要接受用户输入,它不能直接控制键盘鼠标,也只能使用X Server来接受输入。 • 可运行在与X Server相同或不同的电脑上。

  8. 2.3 X Charnel • Server和Client之间传输信息的通道。凭借这个通道,Client传送requests给Server。而Server回传status及其他一些信息给Client。 • Server和Client的通信大致有两类: • Server和Client在同一台机器上执行,它们可以共同使用OS上任何可用的通信方法 • Client和Server在不同机器上运行。两者信息交换须通过彼此都遵守的网络协议进行,最常用的协议为TCP/IP。

  9. 3. X Window架构图和运行原理 Shell XClient NO. 1 XClient NO.2 点一下鼠标发生了什么 敲一条显示命令又发生了什么? Shell XClient NO. 4 XClient NO.5 Window Manager X Server Kernel Kernel 网线 Hardware Hardware 带有X Window的电脑 没有X Window的电脑

  10. 在图例中,X服务器从键盘鼠标获取输入内容,之后将输入显示到屏幕,而网页浏览器机终端机模拟器则在用户端的本机系统上执行。在图例中,X服务器从键盘鼠标获取输入内容,之后将输入显示到屏幕,而网页浏览器机终端机模拟器则在用户端的本机系统上执行。 此外,用户端也通过网络与远端的机器、服务器保持联系,以保持信息状态的更新。 如此的机制及架构能是远端执行的应用如同在本机执行一样。

  11. 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分等级日志

  12. 4.1 Xorg配置文件 • X Server出故障时一般都是配置文件错误,所以安装完成系统,进入到桌面环境之后,备份一下Xorg配置文件是一个很好的习惯。 • 在安装时如果没有设置X Window系统,之后必须先行设置鼠标、键盘、显示器以及显示卡等,这样才能成功启用X Window系统,而这些设置都记录在/etc/X11/xorg.conf文件中。这个文件的重要性可见一斑。

  13. 4.1.1 xorg.conf文件格式 • xorg.conf由数个Section/EndSection的区块组成,每个区块的格式如下: • Section “Sectionname" • Option “value" • Option "value" • option “value" • … • EndSection

  14. 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

  15. 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寻找字体时的路径。可以同时使用多个路径,但需用逗号隔开。

  16. 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

  17. 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

  18. 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手册中查得到。

  19. 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

  20. 4.1.7 Section “Device” • Device显示卡的信息内容,至少包含一个以上的Device Section。 • Section "Device“ • Identifier  ”card0“ #显卡唯一标识 • VendorName “card’s vendor“ #显卡厂商 • BoardName “card’s mode“ #显卡型号 • Driver      “vmware“ #显卡驱动 • BusID    “PCI:0:15:0“ #总线地址 • EndSection

  21. 4.1.8 Section “Screen” • Screen合并引用Device和Monitor的部分,以便能够形成成对的设置内容。 • Section "Screen" • Identifier “Screen0“ #屏幕唯一标示 • Device “card0 “ #使用的显卡 • Monitor “ Monitor0“ #使用的监视器 • DefaultDepth 24 #默认色深 • SubSection “Display“ #显示模式定义 • Depth 24 #色深 • Modes “1024×768” “800×600” #此色深允许的解析率 • EndSubSection • EndSection

  22. 4.2 各Section关系 • Module和Files定义文件位置和加载的驱动 • Monitor,Device和InputDevice定义各设备的设备驱动和工作参数 • Screen组合显卡和显示器,定义显示模式。以成输出设备,即屏幕。 • ServerLayout组合输入设备和输出设备以构成X Server

  23. 4.3 /usr/bin/Xorg命令 • Xorg,X Server 可执行文件。典型用法为: • # Xorg –configure • X11 程序将尝试自动探测系统中的图形硬件,并将探测到的硬件信息写入到工作目录下一个叫做 xorg.conf.new 的配置文件。 • # Xorg -config xorg.conf.new • 测试现存的配置文件,  • Xorg7.4 和更高的版本开始, 这个测试将显示出一个黑色的屏幕,可以通过 retro 选项使用旧的模式:# Xorg -config xorg.conf.new –retro 如果看到黑灰的格子以及 X 型鼠标指针, 就表示配置成功了。 • 退出测试, 切换到启动 X 的vty之后按 Ctrl+C。

  24. 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

  25. 启动X图形界面的方法1、startx2、设置开机自动启动,修改/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 gnome2、如果需要切换到KDE:#switchdesk kde#startkde

  26. 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

More Related