您的位置:首页 > 其它

解读startx

2013-12-23 11:31 106 查看
X
的虚拟终端下的蜂鸣声可通过
xset b off
关闭。此命令
可放在
startx
的配置文件
$HOME/.xinitrc
中。
X
的虚拟终端下的蜂鸣声可通过
xset b off
关闭。此命令
可放在
startx
的配置文件
$HOME/.xinitrc
中。
X
的虚拟终端下的蜂鸣声可通过
xset b off
关闭。此命令
可放在
startx
的配置文件
$HOME/.xinitrc

startx 脚本在/usr/X11R6/bin/startx

startx 只是xinit的一个前端工具,它所做的只是设置好一些变量,资源。然后再用xinit 启动X window.

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

以上"->"表示:当前一个不存在时,则取下面一个,直到存在。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: