inittab与event.d的问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
Huntsmen
帖子: 59
注册时间: 2007-08-26 4:49
来自: 古城西安

inittab与event.d的问题

#1

帖子 Huntsmen » 2007-12-11 9:24

想通过配置文件把运行级别改成init 3,但是发现我的7.10为什么没有/etc/inittab这个配置文件?
上网搜了一下,似乎从7.04就没有inittab了,用event.d取代了

1,用sudo init3 命令没有反应,是不是因为没有inittab这个配置文件的原因?
2,我切换到tty1,用telinit 3也没有反应,道理跟上面一样吗?


3,网上开机就进入文本的解决办法:

代码: 全选

 sudo mv /etc/rc2.d/S13gdm /etc/rc2.d/K13gdm 
这个就改了一下名字,为什么就可以,还有为什么是rc2.d,而不是rc3.d,我们需要的运行级别是3,更应该是rc3.d呀

4,如果只是在启动xwindows后,因为某些需要需临时关闭xwindows,而不是一开机就不启动x,怎么弄?

5,如果要一开机就不启动x,除了S13gdm改K13gdm的方法,能不能有其它的办法?
能不能修改event.d中的rc-default文件,看了一下这个文件内容,没看懂,看来以后还得学shell

代码: 全选

# rc - runlevel compatibility
#
# This task guesses what the "default runlevel" should be and starts the
# appropriate script.

start on stopped rcS

script
	runlevel --reboot || true

	if grep -q -w -- "-s\|single\|S" /proc/cmdline; then
	    telinit S
	elif [ -r /etc/inittab ]; then
	    RL="$(sed -n -e "/^id:[0-9]*:initdefault:/{s/^id://;s/:.*//;p}" /etc/inittab || true)"
	    if [ -n "$RL" ]; then
		telinit $RL
	    else
		telinit 2
	    fi
	else
	    telinit 2
	fi
end script
似乎里面有个判断inittab文件,我就想是不是自己可以写一个inittab来设定run-level,放在/etc中,谁懂的来介绍介绍这个文件

高手解答
Lave
帖子: 35
注册时间: 2007-11-29 19:33

Re: inittab与event.d的问题

#2

帖子 Lave » 2007-12-11 9:54

1,用sudo init3 命令没有反应,是不是因为没有inittab这个配置文件的原因?
2,我切换到tty1,用telinit 3也没有反应,道理跟上面一样吗?
3,网上开机就进入文本的解决办法:

代码: 全选

 sudo mv /etc/rc2.d/S13gdm /etc/rc2.d/K13gdm 
这个就改了一下名字,为什么就可以,还有为什么是rc2.d,而不是rc3.d,我们需要的运行级别是3,更应该是rc3.d呀
为什么不是rc3.d。看下面帖子
viewtopic.php?t=59173&highlight=event.d

4,如果只是在启动xwindows后,因为某些需要需临时关闭xwindows,而不是一开机就不启动x,怎么弄?
切换到tty?,运行下面命令

代码: 全选

sudo /etc/init.d/gdm stop
有三个选项,start启动,stop停止,restart重启。

5,如果要一开机就不启动x,除了S13gdm改K13gdm的方法,能不能有其它的办法?
最好的方法,是用ubuntu的update-rc.d命令。

代码: 全选

sudo update-rc.d -f gdm remove
sudo update-rc.d gdm start 90 2 3 4 5 . stop 1 6 .
能不能修改event.d中的rc-default文件,看了一下这个文件内容,没看懂,看来以后还得学shell

代码: 全选

# rc - runlevel compatibility
#
# This task guesses what the "default runlevel" should be and starts the
# appropriate script.

start on stopped rcS

script
	runlevel --reboot || true

	if grep -q -w -- "-s\|single\|S" /proc/cmdline; then #判断是否是single模式
	    telinit S
	elif [ -r /etc/inittab ]; then            #如果存在inittab,实际上没有
	    RL="$(sed -n -e "/^id:[0-9]*:initdefault:/{s/^id://;s/:.*//;p}" /etc/inittab || true)"
	    if [ -n "$RL" ]; then
		telinit $RL
	    else
		telinit 2
	    fi
	else                       #runlevel    2
	    telinit 2
	fi
end script
要修改这个文件的话,可以简要参考一下:
viewtopic.php?t=93716&highlight=event.d
HP Compaq 6515b+Linux+Ubuntu+Sawfish+Emacs+Firefox...
头像
yaoms
帖子: 4952
注册时间: 2007-10-19 14:51
来自: 深圳

#3

帖子 yaoms » 2007-12-11 10:22

这个就改了一下名字,为什么就可以
S就是start, K就是Kill你说区别大不大??
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'
头像
yaoms
帖子: 4952
注册时间: 2007-10-19 14:51
来自: 深圳

#4

帖子 yaoms » 2007-12-11 10:26

sudo init3 命令没有反应,是不是因为没有inittab这个配置文件的原因?
你看看rc3.d里面的和rc2.d里面的服务,几乎差不多,,都有桌面管理器gdm/kdm,所以你换哪个运行级别还不是一样?

关键啊是你要进入文本界面就要把桌面管理器关掉,所以就有了 S99gdm -> K99gdm 的方法了
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'
Huntsmen
帖子: 59
注册时间: 2007-08-26 4:49
来自: 古城西安

#5

帖子 Huntsmen » 2007-12-11 14:00

代码: 全选

 sudo mv /etc/rc2.d/S13gdm /etc/rc2.d/K13gdm
利用这个改后,重启还有个小问题,怎么启动的时候还是ubuntu的欢迎画面,我开始还以为没有成功呢,后来突然快要进X系统的时候突然跳到了tty1控制台界面。

为什么欢迎界面?而不是那种黑屏的显示什么服务正在被启动……
头像
yaoms
帖子: 4952
注册时间: 2007-10-19 14:51
来自: 深圳

#6

帖子 yaoms » 2007-12-11 14:02

在menu.lst里面删除splash
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'
Huntsmen
帖子: 59
注册时间: 2007-08-26 4:49
来自: 古城西安

#7

帖子 Huntsmen » 2007-12-11 14:38

在menu.lst里面删除splash
那个是设置grub菜单界面的背景图片吧

不是系统启动阶段的
头像
yaoms
帖子: 4952
注册时间: 2007-10-19 14:51
来自: 深圳

#8

帖子 yaoms » 2007-12-11 16:58

Huntsmen 写了:
在menu.lst里面删除splash
那个是设置grub菜单界面的背景图片吧

不是系统启动阶段的
不信,请试试,


那是内核参数。是grub传给kernel的。
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'
头像
skyx
论坛版主
帖子: 9202
注册时间: 2006-12-23 13:46
来自: Azores Islands
联系:

#9

帖子 skyx » 2008-02-03 17:39

Because the link starts with an `S', the run−level script knows to execute the syslog script with a ``start'' parameter.
There are corresponding links starting with `K' (for kill), which specify what to shut down and in what order when leaving the run−level.
no security measure is worth anything if an attacker has physical access to the machine
回复