|
|
因为X window是基于C/S结构的, X server和X client. 其中X SERVER是由/usr/X11R6/bin/XFree86主程序来执行的, 二 X CLIENT这是通过运行其他一些脚本来实现的, 具体的说, 我们常常用startx, 那么他到底做了什么呢?是如何敲进去然后就出现我们想要的界面呢?他同xinit和xfree86以及X他们四者者之间又有何种关系呢?我是这么理解的:
startx其实是个脚本,而xfree86, xinit, x都是可执行文件, 已经编译封装好了(当然自己可以重新修改c文件,重新编译),startx实际上只作三件事:
1, 在根目录下找.xinitrc, 找不到便找/etc/x11/xinit/xinitrc
2, 在根目录下找.xserverrc 找不到便找/etc/x11/xinit/xserverrc
3, 将必要的参数传给xinit, 由xinit启动x window, 所以在xinit中必有一行执行/usr/X11R6/bin/xfree86的程序.这就是startx和xinit执行的结果是一样的,都能把x server调起来, 只不过使startx使用户
用自己的方式来启动x window上的x client,如你可以启动xterm, xclock ,twm, fwmn等等,
那么我的设想是:我不用startx, 绕过startx直接来执行/usr/X11R6/bin/xfree86, 把x window调起来, 让系统初始化直接进入x window的x server中, 并且也不通过xterm来运行客户程序(因为我没运行startx, 也就没加载诸如xterm的客户端)而是让系统启动时先启动x server再启动x clinet(如webserver, twm,xmms),只需再启动时加入几行脚本,我这种思路对吗?还望高手指点迷经? |
|