本文将介绍systemctl 命令设置的开机启动/禁止设置的本质是什么,并介绍一各启动管理程序
sysv-rc-conf
;由此引出的几种启动模式,以及如何关闭图形化界面、重新启动图形化界面
开机自动启用 禁用服务
$ sudo systemctl disable xxx
$ sudo systemctl enable xxx
安装管理程序sysv-rc-conf
sudo apt install sysv-rc-conf
如安装报错
E: Unable to locate package sysv-rc-conf
则添加deb源deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
vi /etc/apt/sources.list
把上面的deb源添加到source.list
文件最末位
再执行sudo apt update
重新安装即可sudo apt install sysv-rc-conf
基本使用方式
启动sysv-rc-conf
sysv-rc-conf
查看某个服务启动级别
sysv-rc-conf --list server_name
如:
sysv-rc-conf --list nginx
上面的service选项即来着/etc/init.d
目录下,如下
$ cd /etc/init.d/
$ ls
acpid hwclock.sh README
alsa-utils irqbalance rsync
anacron kerneloops rsyslog
apparmor keyboard-setup.sh saned
apport kmod speech-dispatcher
avahi-daemon network-manager spice-vdagent
bluetooth openvpn udev
console-setup.sh plymouth ufw
cron plymouth-log unattended-upgrades
cups pppd-dns uuidd
cups-browsed procps whoopsie
dbus pulseaudio-enable-autospawn x11-common
gdm3 rc
grub-common rcS
显然,如果一个服务需要添加为自动启动,则必须先进入到上面的目录/etc/init.d
,然后软链接添加到/etc/rc*.d
目录下,也可以通过sysv-rc-conf
这个简单的可视化工具进行配置,本质都一样;
- 信息意思
0:停机
1:单用户形式,只root进行维护
2:多用户,不能使用(NFS)net file system
3:完全多用户,标准运行级别(命令行模式)
4:安全模式
5:图形化
6:重启(千万不可把initdefault设置为此模式)
- x表开机启动有效,可通过空格启用或禁用 (无需要保存立即生效)
- 输入
-/+
按键 表启动或停止当前进程 (立即生效)
原理简介
- 开启启动服务的基本原理实际是调用
/etc/int.d/
目录下的bash脚本; - 实际上开机启动时是通过
/etc/
目录下的 rc0.d ~ rc6.d 目录中的软连接,来指向/etc/int.d/
目录下的启动脚本的
/etc/rcS.d/ # 为首先启动的
/etc/rc.local # 通常最后启动
1~6表示Linux的运行级别。
ubuntu桌面运行级别是2,可以更改rc2.d里面的脚本,需要运行的,文件名前是S,不想运行的文件名前是K。
里面有个readme文件,可参考。
-
$ sysv-rc-conf
实际是就是管理 上面如的几个目录 -
$ service
及$ systemctl
也是调用/etc/int.d/
目录下的脚本的
init 3
及init 5
命令的区别
区别
init 3
命令进入全命令行模式,重新进入图形化界面init 5
注意,init 3 或init 5都非常粗暴,回直接进入相应的启动级别,重init 5进入init 3会关闭当前的运行的桌面程序;
所以init 0 可以直接关闭主机
有时我们使用sudo init 3
命令关闭图形界面,并进入全命令行模式,实际上的init 3,及对应rc3
的模式,而再次进入图形界面可以启动用xstart
命令启动一个新的图形界面或者,输入init 5
进入默认的图形界面;
rc3模式则前面提到对应的3模式
xstart
启动图形界面与init 5
启动进入的图形界面还是略微有点区别的;xstart
命令启动的图形界面,是纯粹的带上了WM(Windows Mananger)
的图形界面,是建立在当前已的用户的图形化界面;
而init 5
等于直接将当前模式切换到init 5
对应的图形界面模式,init 5
启动的程序则正好对应/etc/rc5.d
目录下的内容;因此还回启动xstart外的更多软件程序;