快速业务通道

xinit启动X Window System过程初探

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-02
到command prompt terminal的状态. 拥有帝国一切,皆有可能。欢迎访问phome.net

  7)接下来,在xinitrc唤起X server后,xinit会启动xterm程序.呵呵,xterm就是X Window terminal的缩写吧.它对X server而言是一个X Clietn程序而已.要求X server建立一个视窗,会行告知X server在这个视窗中的鼠标和键盘的输入状态(Event),因而启动xterm时便会视窗执行一个shell,内定的就是bash.当指标被移至视窗之内时,xterm便准备接受输入.键盘输入会被关到xterm中的shell就如同真的终端机输入一般.而从shell本身或其副程序的输出则借着 xterm显示在视窗上,xterm也接受输入,便得你能设置不同的程序操作参数和进行文本的一些操作,比如copy或paste.对于这些操作,你可以通过在xterm中执行ps auxw命令来观察到系统执行这些命令的详细步骤.

  [2]以xdm/gdm来启动你的X.

  上面说到了以startx来启动你的X,也可通过xdm/gdm来启动你的X来启动你的X,这正是其它一些发行版本的采用的方式.比如 Redhat是gdm,而Mandrake用kdm.一般的情况,如果你要用调整你系统的run-level.比如修改你的/etc/inittab,把 id:3:initdefault中的3改为5.

  当系统以xdm/gdm来启动X Windows System.大约的步骤就是这些了:

  1)执行/etc/X11/xdm/Xserver启动X出现console登录的界面(是执行/etc/X11/xdm/GiveConsole&TakeConsole所产生的)

  2) 执行/etc/X11/xdm/Xsessions来启动xdm或者是gdm.如果启动的是xdm,则装入用户家目录上的配置文件,. xsession和.Xclients.如果是gdm,则装载入/etc/X11/gdm/Sesseion与.Xclients.到此为止,就会出现X 视窗的登录的界面选项.

  3)gdm则会检查/etc/X11/gdm/Session目录的Session操作.比如 Fvwm,Wmaker,Default, Failsafe,Gnome,Kde与Default等.并将显示给用户选择进入那个那个X Window Manager.其实这些Sessions都是Shell Script file.如果你选择Kde,就进入KDE DeskTop environment,选择Gnome就会进入GNOME DeskTop environment了.

  4)用户如果选择是的 Gnome,在输入用户名和password后,gdm GNOME Session就会找gnomerc script,$HOME/.gnomerc,如果没有这个文件,就会读会系统文件内定的GNOME resource file:/etc/X11/gdm/gnomerc,并且启动/usr/bin/gnome-session.

  这就完成了一个 xdm/gdm的过程.但细心的人会发现,startx会读取$HOME/.xinitrc,而xdm/gdm为什么不会读取这个呢,它又是如何设置根视窗口背景及你的logo和X Window Manager的呢.其中的原因是xdm/gdm改用了/etc/X11/xdm/Setup_0来设置的,例如我的Mandrake90的内容大致如下: 拥有帝国一切,皆有可能。欢迎访问phome.net

  :0 local /usr/X11R6/bin/X -bpp 32

  5) 对于使用何种X Window Manager与载入方式,并不属于Display Manager的范围.Display Manager只要负责启动各种Sessions即可.总这一句话,X Display Manager只管理sessins,想要实现更外层的工作,则可以让sessions自己去做哦.

  6)如果你喜欢那种方式 Display Manager,你都可以选择嘛,修改成自己喜欢的东西.例如我的mandrake90中有/etc/X11/prefdm是目前系统内定使用的Disk Manager.你看到它是只是一个/usr/bin/gdm一个连接而已.你还可以在/etc/inittab文件中定义像下面的,

  代码:

  #hehe,Run gdm in runlevel 5

  #gdm is now for pk''''Mandrake separate server

  x:5:respawn:/etc/X11/prefdm -nodaemon

  你自己做过你系统有的xdm/gdm的连接就可以了.(不过,我在Mandrake linux里面用的kdm,而没有装到其它的,,好像prefdmp这个文件并不连接的内容.)

  这里也费话一下吧,如果你是以kdm来管理你的X的启动的,他只是sessions不同而已,我已经写了这样的一个帖子"配置kdm

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号