对于绝大多数Linux程序员来说,进入Linux系统后一般看到的是黑乎乎的界面(开发模式),因为系统如果启动选择开发模式,会减少启动时间,优化内存等。但是通常我们刚安装完Linux系统,然后进去以后是图形的界面,(如果要切换到开发模式,使用快捷键Ctrl + F2即可),从开发模式返回到图形界面则使用快捷键(Ctrl + F1),或者在命令行里输入命令 startx 命令就可以切换到图形界面。
注意:如果你是开机启动模式设置的是图形界面启动,则通过快捷键( Ctrl + Alt + F2~F7 )进入到终端界面后,
你输入命令 startx 是返回不了图形界面的。但是如果你开机启动模式设置的是开发模式,则输入命令 statx 就可以返回到图形界面
一、centos6上系统级别
1、查看用户当前的系统启动级别的命令是:runlevel 或 who -r 。
[root@localhost ~]# runlevel
N 5
[root@localhost ~]# init 3
[root@localhost ~]# runlevel
5 3
[root@localhost ~]# who -r
run-level 5 2018-10-14 17:30
runlevel命令是查询用户的启动级别的命令,出现了两个值:第一个值指的是当前启动级别上一次的启动级别,如果没有,就显示N(NO);第二个值显示的是当前的启动级别。
init命令用来临时设置用户启动的级别,后面跟用户的启动级别对应的值。因为没有写入配置文件,所以下一次重启后该值失效!
who -r用来显示用户的启动级别以及登录时间。
2、Linux系统设置系统启动模式的方式可以修改(必须要以root身份登录才能修改)。centos6修改系统启动模式的配置文件是 /etc/inittab。
我们在切换到root用户后,然后 vim /etc/inittab, 就可以修改并查看该配置文件:
[root@xiaoluo ~]:# vim /etc/inittab
在输入上面的命令后,我们可以看到该配置文件里面的信息如下:
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 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)
#
id:5:initdefault:
~
我们之间看到最后那几行,就可以看到Linux系统中默认的系统启动基本一共有7种,分别是:
0:关机(不要设置这个!)
1:单用户(类似于windows操作系统的安全模式)
2:多用户状态没有网络服务
3:多用户状态由网络服务(在做开发时,通常设置成这个启动级别,直接进入到命令行的界面)
4:系统未使用保留给用户(不要设置这个!)
5:图形界面(这是linux默认的启动级别,直接进入图形界面)
6:系统重启(不要设置这个!)
下面那句:
id:5:initdefault: // 设置系统默认的启动级别
就是用来设定系统的默认启动级别,Linux系统中默认是启动级别5,也就是图形界面启动
如果需要修改成默认级别为开发模式,只需要将 5 改成 3 即可
如:
将 id:5:initdefault: 改成 id:3:initdefault:
然后保存退出,重新启动一下系统 输入 reboot 命令即可。
警告:千万不要将启动基本设置为0, 4, 6!!!!!!
这时就会发现进入Linux系统的界面已经变成开发者模式了!
如果我们只是需要在Linux上做开发、部署项目的话,建议一般将系统启动模式设置为 开发模式!
【注】
如果有恶意用户将系统启动级别设置成0、4、6,我们该怎么解决这个问题?
在linux系统启动界面,我们快速按键盘上的 【e】 按钮,然后进入到了grub引导界面(这个根据Linux的版本可能有不同,我的CentOS6.4是需要在启动时按F2进入引导界面,
这个可以根据自己安装的Linux系统在开机时的提示进入引导界面),
在这个界面中选择第二个选项,然后再按下键盘上的 【e】按钮,在进入修改界面后,在最后输入【 1】(1前面有空格)
这样,linux系统在启动时就会以 单用户级别 启动起来(为什么这里不将其设置成3或者5,是因为linux系统
在启动时首先会去检查 /etc/inittab 文件的设定启动级别,如果在这时设置成5或者3,系统还是进不去,只能设置成1)
在设置好以后,按下键盘的【b】按钮,系统就能重新启动,并进入 单用户级别,这样我们就可以按照之前的方法修改
linux系统的启动级别。
二、centos7上用户级别的查看与修改
7个启动级别
Linux分为7个启动级别:
- 0 - 系统停机状态
- 1 - 单用户工作状态
- 2 - 多用户状态(没有NFS)
- 3 - 多用户状态(有NFS)
- 4 - 系统未使用,留给用户
- 5 - 图形界面
- 6 - 系统正常关闭并重新启动
现在很多Linux系统都默认启动等级为5。如果我们想切换系统等级,可使用init命令
init 3
- 1
这样就可以切换到多用户状态且带有网络文件系统了。这种方式对于CentOS7也适用。
centos 7 修改默认启动级别
修改默认启动级别,CentOS7同其他Linux稍显不同
对于传统的设置方法,只要修改/etc/inittab文件即可,将默认的启动级别改为需要改动的级别
打开CentOS7的/etc/inittab,发现该文件与其他Linux不同
# 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
按照该文件所说的,runlevels被targets所取代,即CentOS7采用加载target的方式来替代之前的启动级别。其中有两个重要的target:multi-user.target与graphical.target。它们分别表示运行级别中的3与5级别
通过systemctl get-default
可获得默认启动的target
通过systemctl set-default
设置默认启动的target
那么,想修改为多用户状态只需执行:
systemctl set-default multi-user.target
修改为图形界面执行
systemctl set-default graphical.target
这篇随笔主要是记录怎么设置Linux系统的启动级别,后面将会陆续学习Linux系统更多的东西!!!