startx只是xinit的一个前端工具,它所做的只是设置好一些变量,资源。然后再用xinit启动Xwindow.
xinit的命令格式:
xinit[[client]clientargs][--[server][display]serverargs]
startx所做的工作:
一.获取命令行参数
1.client段
clientargs:
完全从命令行中获取,无默认值
client:
如果没有指定,但是已经指定clientargs,则使用/usr/X11R6/bin/xterm
如果没有指定,且没有指定clientargs,则使用./defaultclientargs,即按以下顺序取值:
$HOME/.xinitrc->/usr/X11R6/lib/X11/xinit/xinitrc
/usr/X11R6/lib/X11/xinit/xinitrc其实就是执行/etc/X11/Xsessions这个脚本
而/etc/X11/Xsession又会检查$HOME/.xsession,如果存在则把它作为client.
所以如果$HOME/.xinitrc不存在时,它可以使用$HOME/.xsession;而当$HOME/.xinitrc存在
时,它并不会使用$HOME/.xsession
2.server段
跟client类似
增加一个display的设置,默认为":0"
二.设置标志认证
三.通过xinit启动X
四.关闭X时,进行一些收尾工作。
对xinit来说,如果没有指定client,则使用$HOME/.xinitrc,如果这个也不存在则使用xterm;如果没有指定server,则使用$HOME/.xserverc,如果这这个不存在的话则使用X:0。
所以当由startx启动X时
client的顺序是:命令行->$HOME/.xinitrc->$HOME/.xsession->/usr/X11R6/lib/X11/xinit/xinitrc
server的顺序是:命令行->$HOME/.xserverrc->/usr/X11R6/lib/X11/xinit/xserverrc
以上"->"表示:当前一个不存在时,则取下面一个,直到存在。
解读startx解读startx解读startx解读startx解读startx解读startx解读startx解读startx解读startx解读startx
阅读(1022) | 评论(0) | 转发(0) |