Chinaunix首页 | 论坛 | 博客
  • 博客访问: 570462
  • 博文数量: 826
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 18:09
文章分类

全部博文(826)

文章存档

2011年(1)

2008年(825)

我的朋友

分类: LINUX

2008-08-22 18:14:49

 
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

以上"->"表示:当前一个不存在时,则取下面一个,直到存在。

阅读(269) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~