LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 781|回复: 1

kdm启动X之后rc.local中的X不能启动

[复制链接]
发表于 2008-11-7 13:24:59 | 显示全部楼层 |阅读模式
我的rc.local中startx SOME_COMMAND -- :2 -br vt9 &
可是在kdm启动后, 必须手动切换回vt1这个X才会被运行, 可我不想每次都要先换回vt1再换回vt7, 应该怎么办呢?

(要测试的话, 可以invoke-rc.d kdm restart && invoke-rc.d rc.local start)
 楼主| 发表于 2008-11-7 18:24:59 | 显示全部楼层
已解决。就是说必须把startx放到一个子bash进程运行才行。而且需要注意:
在启动完成之前,kdm不会把“控制权”交还给vt1, 不信的话让rc.local一直sleep,在kdm里头按Alt-N (Console login), 他每次kill掉X后就会重新启动X
而startx似乎必须要那个vt下才能启动。这样就必须要在startx前退出rc.local。只有这样,vt1才能获得“控制权”。
所以应当使这成为rc.local的最后一句话:
(sleep 1; chvt 1; startx ) >/dev/null 2>&1 &
回复 支持 反对

使用道具 举报

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

本版积分规则

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