Xwindow读书笔记1
时间:2005-12-09 来源:rickyweiwei
X四个特点
1、X具有网路透通性(Network Transparent)。
2、X不是电脑作业系统的一部分:对作业系统而言,X只是一个应用程式而已,因此,X很容易在不同的系统上装设。
3、视窗是阶层性的 (hierarchical)。
4、可支援许多不同风格的使用者介面geometry -- 位置和大小。
X的产品
严格地说, X视窗系统并不是一个软体, 而是一个协定 (protocal),这个协定定义一个系统成品所必需具备的功能 (就如同 TCP/IP, DECnet 或IBM的 SNA,这些也都是协定, 定义软体所应具备的功能).任何系统能满足此协定及符合X协会其他的规□, 便可称为X。
MIT 发行的X
. core版 -- 软体由MIT X协会提供.
. corelib 版 -- 软体由使用者或第三集团提供.
core版的程式可分为以下几类:
1. X视窗系统本身的程式.
2. 使用视窗系统必备的工具和设备程式: . 日常的视窗相关功能的工具程式 (例如将视窗内容倾印至列表机)。. 一些你常常保持在 "案头" (desktop) 的便利程式 (例如时钟, 日历).
3. 从视窗环境获得效益的一般应用程式.
4. 展示(Demo)程式和游戏程式.
5. 资讯和状态报告程式.
6. 定制 (customise)你自己的环境的工具程式.
X系统相关程序
X - 显示server -- 这个软体控制了你的工作站的键盘、滑鼠和萤幕. 这是X的心脏, 此程序可以建立、去掉视窗, 实际的应其它 client 程序的Request (需求)做写 (write)和画(draw)的动作. 这个server程序在各种硬体上有不同的程序提供, 例如:
Xapollo - 针对Apollo显示器.
Xhp - 针对Hp 9000/300 的Topcat显示器.
Xibm - 针对IBM 的APA16 和Megapel 显示器.
Xmacll - 针对Apple 的Macintosh II.
Xplx - 针对Parallax图形控制器.
Xqdss - 针对DEC 的GPX 显示器 (VAXstation II/GPX).
Xqvss - 针对DEC 的QVSS显示器.
Xsun - 针对Sun/2, Sun/3, Sun/4 和Sun/386i工作站.
Xinit - 初始(initialization)程序, 启动系统和设定Server执行.
Xdm - X显示管理器(display manager),一个提供便利和弹性地启动系统, 使系统启动成个别需求的程序, 可以和 Xinit两者择一.
Uwm - X视窗管理器(Window Manager), 此程序决定如何管理你的 "案头"、 移动视窗、重定视窗大小等等, 你可以利用选单结合滑鼠的按钮或键盘完成视窗操作.
只有Server程序是绝对必需的, 不需其它的程序, 你就可以在X系统上跑其它的应用程序 (虽然笨了一点). (Xinit 等程序可由其它相同功能程序替代.) 以上程序包含了视窗系统, 但除了在视窗上移动游标外, 什麽事也不能做. 因此实际上, 你需要更多的公用程序和应用程序.
视窗系统公用程序 以下的工具程序并不是视窗系统的一部份, 但它们是你要更方便的使用系统或利用系统做更多的事所不可或缺的, 它们分为以下两个部份:
1. 视窗系统操作常用工具程序
xterm - X终端机模拟器 (terminal emulator), 你的系统内大多数的程序并非特别为使用视窗系统设计. 举例来说, 一些最普通的系统程序 -- 列出档案目录, 编辑器, 编译器等, 它们在普通的终端机可以正常的执行, 可是它们如何在连视窗系统是什麽都不知道的情况下, 在X下操作? Xterm就是建立一个X的视窗, 且允许这些普通的 "笨哑终端机(dumb terminal)"程序能够在这个视窗中执行的工具程序. 这些普通程序会认为它们是在 "真的" 终端机上执行.
xhost - 让你控制网路上那些被允许存取你的显示萤幕的其他主机。
xkill - 一个可杀掉不想要之应用程序的工具程序。
xwd - 将你视窗内目前的影像倾印 (dump) 到一个档案中,使得你可以在稍後重建这个视窗、列印它或做一些你想做的事。
xpr - 将先前 xwd所抓取 (capture)的视窗影像转换成适合硬拷(hardcopy)印出的格式.
xdpr - 结合了 xwd和 xpr,允许你在一个步骤就印出视窗的内容.
xmag - 将萤幕上被选取的一部份影像加以放大。
xwud - 将先前 xwd所抓取的视窗影像重新显示於萤幕上。
x10tox11 - 将能在第10版X执行的程序转换成可在第11版执行。
xrefresh - 更新 (refresh)显示, 将某些或全部的视窗全部重画一遍。
2. 便利的程序
xclock - 一个指针或数字型的时钟。
xclac - 一个计算器,可模拟科学工程型的计算器。
xload - 用累计图 (histogram)来显示目前机器的负载分布。
xbiff - X版的 biff,信件到达告知 (barfs if mail arrives) 程式,xbiff 会显示一个信箱的表徵图,当信箱上的旗子升起时, 表示有你的信。
一般应用和工具程式
xedit - 一个文字编辑器,你可以用选单或键盘下命令,也可以用指标指定位置或一段文字。
xman - 一个说明书或系统文件的浏览器。
xmh - 一个信件管理程式。
示□和游戏程式 这些程式展示了X图形和彩色的能力
ico - 显示一个二十面体 (或其它多面体) 在视窗内进行弹性碰撞运动.
maze - 以乱数建立一个迷宫并找出它的解法.
muncher - 在视窗上描绘大量动态的图样 (patterns).
plaid - 在视窗上画一些持续变化的花格子图形.
xlogo - 在视窗上印一个X的字形.
puzzle - 智慧盘, 在一 4x4方块盘上, 移动编号 1 - 15 的小方块,以排成特定型态的游戏.
资讯和状态程式 以下的程式提供你有关於你的视窗系统的资讯和状态, 你将会常利用它和你自己的工具程式连结在一起.
xfd - 在视窗内显示一个被X指定的字型,且可选择性地提供更多有关此字型的资讯.
xlsfonts - X字型的目录程式, 告诉你一个显示器上有那些字型可供使用.
showsnf - 显示上server上SNF(Server Natural Format,你Server上原有的格式) 格式对某一种字型的细节.
xwininf - 显示某个特定视窗的资讯, 如大小, 位置及其它特徵.
xlswins - 列出系统内所有的视窗, 并可选择性地列出每个视窗的一些细节.
xprop - 显示视窗的性质 (properties) 和字型.
xdpyinfo - 提供你的显示器及控制它的 server之细节.
xev - 印出和视窗相关所有X "事件(event)"的细节, 用来侦错(diagnostic)或给有经验的人使用的工具程式.
定制适合你的系统之工具程式 你可能发现你必需修改一下系统, 例如想使视窗边框换成自己喜欢的颜色等,用以下的程式, 可以使你的工作环境更加适合你.
xset -- 允许依照你的喜好设定显示特性, 你可以设定一个键使它有效或无效, 调整警告铃的音量, 指定字型从何处取得等.
xsetroot - 你可以选择你显示萤幕背景的外观, 当你滑鼠的指标不在任何应用视窗内时, 你可以改变使用的颜色或图样或游标.
xmodmap - 显示键盘的对应 (mapping), 也就是按什麽键对到什麽字元, 可以允许你修改成适合你的对应, 通常用来设定一些特殊键 (如META, SHIFT-LOCK等) 和函数键, 但你可以视需要设定任何键.
bitmap - 让你建立和编辑位元映像的程式, 例如用来改变cursor的式样, 编辑表徵图, 视窗的背景图样等等.
xrdb - 让你在资料库中显示或改变你喜爱的色彩或字型等等, 稍後可被应用程式使用到. 也就是说, 你可以设定一些预设的特性, 让这些特性被所有或只有特定的应用程式用来当作预设特性.
bdftosnf - 将一种字型从BDF("bitmap distribution format"一种可携的格式)格式转成你Server 原有的SNF 格式
小结:
·X是一种协议,常用MIT发行的两种版本,以core为例。
·由六类相关程序组成:X系统本身的程式. 使用系统必备的工具和设备程式. 一般应用程式. 展示(Demo)程式和游戏程式. 资讯和状态报告程式. 定制环境的工具程式.
·Xserver主要与硬件资源打交道,键盘、鼠标、显卡、显示器等外设。其中:
Xinit - 初始(initialization)程序, 启动系统和设定Server执行.
Xdm - X显示管理器(display manager),一个提供便利和弹性地启动系统, 使系统启动成个别需求的程序, 可以和 Xinit两者择一.
Uwm - X视窗管理器(Window Manager), 此程序决定如何管理你的 "案头"、 移动视窗、重定视窗大小等等, 你可以利用选单结合滑鼠的按钮或键盘完成视窗操作.
·常用的视窗程序(xclient)
xterm - X终端机模拟器 (terminal emulator)
xhost - 让你控制网路上那些被允许存取你的显示萤幕的其他主机。
xkill - 一个可杀掉不想要之应用程序的工具程序。
xpr - 将先前 xwd所抓取 (capture)的视窗影像转换成适合硬拷(hardcopy)印出的格式.
xdpr - 结合了 xwd和 xpr,允许你在一个步骤就印出视窗的内容.