Pages

Monday, 4 February 2013

Debian/ubuntu下,程序的运行级别

Linux运行级别的定义是以下这样的:
0 - halt (Do NOT set initdefault to this)
1 - Single user mode
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
3 - Full multiuser mode
4 - unused
5 - X11
6 - reboot (Do NOT set initdefault to this)
在RedHat及Suse等发行版本中,运行级别是由inittab文件来控制的,修改/etc/inittab文件,就可以指定启动时进入的运行级别,只需将inittab文件中id:x:initdefault的x更改为需要默认进入的运行级别对应的数字即可。
在Debian中,默认也存在inittab文件。但是Debian的运行级别定义不同于RedHat和Suse等发行版本,下面是Debian默认的inittab文件中的注释:
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
在Runlevels 2-5中,定义比较笼统,在RedHat发行版本中,有比较明确的定义,当运行级别为5的时候,才启动X管理程序。而在Debian中,则是由其他程序控制到底进不进图形界面,感觉比较麻烦。
如果你要对Debian或是基于Debian的Linux发行版进行修改,使其启动时默认进入字符界面而非图形界面,有下面几种方法。
一、grub
修改/etc/default/grub文件,找到GRUB_CMDLINE_LINUX_DEFAULT=””一行,在引号中添加text,然后执行update-grub,然后reboot即可。
这样做其实也就是在/boot/grub/grub.cfg文件中的menuentry中给kernel部分添加上了text参数,也就是可以直接修改grub.cfg文件。
这里需要注意,这种方法是针对grub来说的,grub2的配置请参阅相关资料。
二、rcconf
直接用rcconf取消X图形管理的启动,如果有互联网连接,直接apt-get install rcconf,然后执行rcconf,取消gdm之类图形管理即可。
三、inittab
删除或重命名/etc/rcx.d中的如Sxxgdm之类的链接文件,xx代表数字。默认是gdm管理,如果安装了其他图形界面,可能是kdm之类 的,则删除类似的文件。在Debian及早期的Ubuntu,此方法都可行之。如果在Ubuntu中的rcx.d目录找不到类似的文件,可以在/etc /init.d中查找,如删除/etc/init.d中的gdm,也可以将其移到其他位置。
最后,如果使用中完全不需要用到图形界面的话,可以直接删除图形界面程序,则默认启动到字符界面。Debian安装的时候,将图形界面取消选中即可。如果是选择用Ubuntu,可以使用Ubuntu Alternative 版本,也可以不安装图形界面.