linux/unix运行级别
在SYSTEM V 风格的UNIX系统中,系统被分为不同的运行级别,这和BSD分支的UNIX有所不同,常用的为0~6七个级别:
0关机 1单用户 2不带网络的多用户 3带网络的多用户 4保留,用户可以自给定义 5图形界面的多用户 6重起系统
关于运行等级 现在的linux安装完成后,默认就运行在5个系统运行级别。
由于现在的Linux系统安装完后就运行在第5个级别,即系统启动后直接进入图形界面,而不用在字符模式下登录后用startx或者xinit 来起动图形界面。
gdm start 是启动Gnome Display Manager服务,执行后会出现gnome登录界面。如果没装GDM就没有这个命令。
过去的Linux如redhat6.0,都是默认运行接别为3,即使后来的RedHat9.0也可以在安装时候选默认字符登录还是图形登录。
建议系统的默认运行等级设置在第3级,在字符终端登录后,再手工输入startx 命令起动图形界面。可以用如下的方法修改: 用文本编辑器修改 /etc/inittab文件 ,把代码:
id:5:initdefault:
这一行,修改成 代码: id:3:initdefault: 保存后就重起,系统就默认起动到字符界面。不同运行级别之间的差别的在于系统默认起动的服务的不同,如运行级别3默认不启动X图形界面服务
,而运行级别5却默认起动。本质上是没有区别的,更无所谓不同级别间功能强弱的问题。用户完全可自给定义不同级别的默认服务。在任何运行级别,用户都可用init 命令来切换到其他运行
级别。
默认运行级别修改成3级别,当然,如果你实在不想修改,就临时用init 3命令切换到第3级。 这样你就可以用startx起动图形界面,然后用ctrl+alt+backspace退出图形界面,而不是按ctrl
+alt+F2切到一个字符终端。
startx是通过xinit启动X,会读取你的xinitrc以启动一些额外的程序(如窗口管理器)。使用xinit应该也能达到效果。
=====================
补充:RHEL7版本中修改系统运行级别的方式有改变:
[root@rhel7Oracle ~]# vi /etc/inittab # inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. ---在这里增加配置信息不生效。 # # Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target # # systemd uses 'targets' instead of runlevels. By default, there are two main targets: # --使用如下的方式来调整运行级别 # multi-user.target: analogous to runlevel 3 # graphical.target: analogous to runlevel 5 # # To view current default target, run: # systemctl get-default # # To set a default target, run: # systemctl set-default TARGET.target # ~
查看运行级别:
[root@rhel7Oracle ~]# systemctl get-default
graphical.target
[root@rhel7Oracle ~]# runlevel
N 3
修改运行级别:
[root@rhel7Oracle ~]# systemctl set-default multi-user.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
重启系统后也生效,并自动进入到multi-user模式。
-------
HEL7中的target与RHEL6的运行级别对比:
RHEL6 RHEL7
0 runlevel0 poweroff.target
1 runlevel1 rescuse.target
2 runlevel2 multi-user.target
3 runlevel3 multi-user.target
4 runlevel4 multi-user.target
5 runlevel5 graphical.target
6 runlevel6 reboot.target