|
发表于 2005-6-2 19:49:38
|
显示全部楼层
最保险的方法,不过实际上也没有必要这样,只是为了了解X起动过程中这些脚本的起动顺序
.xinitrc
- #!/bin/bash
- if [ ! -x "$HOME/.Xclients" ]; then
- [color=Red]exec xeyes &[/color]
- exec /etc/X11/xinit/xinitrc
- else
- exec /etc/X11/xinit/xinitrc
- fi
复制代码
.Xclients
- #!/bin/bash
- [color=Red]exec xeyes &[/color]
- if [ -x "$HOME/.Xclients-$HOSTNAME$DISPLAY" ]; then
- exec $HOME/.Xclients-$HOSTNAME$DISPLAY
- else
- if [ -x "$HOME/.Xclients-default" ]; then
- exec $HOME/.Xclients-default
- else
- exec /etc/X11/xinit/Xclients
- fi
- fi
复制代码
.xsession
- #!/bin/bash
- xterm &
- if [ -x "$HOME/.Xclients" ] ; then
- exec $HOME/.Xclients
- else
- [color=Red]exec xeyes &[/color]
- exec /etc/X11/xinit/Xclients
- fi
复制代码
这样可以保证在 .xinitrc .xsession .Xclients 中任何一个文件不存在,当然如果有两个以上文件不存在的话就不行了.的情况下都能起动xeyes
startx 是按照这样起动的
存在 .xinitrc 的情况
.xinitrc 判断是否有 .Xclients ,如果没有,则执行 exec xeyes ,并且执行 /etc/X11/xinit/xinitrc (因为如果存在.xinitrc的话,系统是不会去执行 /etc/X11/xinit/xinitrc的.) 否则执行exec /etc/X11/xinit/xinitrc 而/etc/X11/xinit/xinitrc 会调用 .Xclients 达到起动 xeyes的效果
不存在 .xinitc 的情况
默认执行 /etc/X11/xinit/xinitrc 调用 .Xclients
predm 起动
存在 .xsession 情况
.xsession 判断是否存在.Xlients ,如果存在则杂技直接调用 .Xclients 如果不存在,则执行 exec xeyes,然后再执行exec /etc/X11/xinit/Xclients 起动到桌面,因为如果有.xsession 存在是不会去自动执行.Xclients和 /etc/X11/xinit/Xclients的
不存在.xsession 的情况
那就更简单了,直接调用.Xclients
另外记得上面三个脚本都需要可执行的权限,脚本也也是通过 -x 来判断的 |
|