LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: dorice

有没有让脚本在登陆桌面后自动执行的通用配置文件?

[复制链接]
发表于 2007-8-31 23:56:09 | 显示全部楼层
放在/etc/X11/Xsession.d里的文件必须以数字开头才会被执行,
数字表示执行的顺序,  好像50以前是登录前执行,50后是登录后执行.
回复 支持 反对

使用道具 举报

发表于 2007-9-1 11:57:24 | 显示全部楼层
应该是不能通用的,比如用 gdm/kdm/xdm 登陆和直接执行 startx 所用到的启动脚本默认情况下就是不一样的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-1 18:39:09 | 显示全部楼层
Post by lastart
放在/etc/X11/Xsession.d里的文件必须以数字开头才会被执行,
数字表示执行的顺序,  好像50以前是登录前执行,50后是登录后执行.

谢谢!改成数字后的确可以执行了,不过数字好像是从0到99,按从小到大的顺序执行。最后一个99已经被占用了,用来启动gnome-session之类的,我现在用了98的确可以执行,不过因为这时候的窗口管理器没有启动,因此程序是没有边框的,不能移动,也不能放大缩小。
我发现最后一个脚本是执行
  1. exec $STARTUP
复制代码

其中$STARTUP就是执行gnome-session。怎么修改$STARTUP变量来达到启动gnome-session等之后才执行脚本?
回复 支持 反对

使用道具 举报

发表于 2007-9-2 11:35:28 | 显示全部楼层
你有没有把的你程序放到后台?
如果没有的话执行到它那就停下来了,
如果放到后台,系统就会继续执行它后面的东西, 比如你说的加载gnome-session.
放到后台的方法是在程序后面加"&"号
回复 支持 反对

使用道具 举报

发表于 2007-9-2 22:36:25 | 显示全部楼层
请看/etc/X11/xinit中的SHELL脚本,下面段就是在启动X时候要读的自定义脚本。

  1. for file in /etc/X11/xinit/xinitrc.d/* ; do
  2.     if echo $file | grep -q "\.sh$" ; then
  3.         . $file
  4.     else
  5.         echo "warning: $file does not end in .sh extension, ignoring"
  6.     fi
  7. done
复制代码

上面的是REDHAT的,GENTOO的就比较分的细了 。
在/etc/X11/Sessions/Gnome

  1. if [ -d /etc/X11/xinit/xinitrc.d ]; then
  2.     for i in /etc/X11/xinit/xinitrc.d/* ; do
  3.         if [ -x "$i" ]; then
  4.             . "$i"
  5.         fi
  6.     done
  7. fi
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表