
笔者的 ubuntu 16.04 中居然有 27 个 target!我们在此仅介绍几个常用的 target。
graphical.target:就是文字界面再加上图形界面,这个 target 已经包含了下面的 multi-user.target。
multi-user.target:纯文本模式!
rescue.target:在无法使用 root 登陆的情况下,systemd 在开机时会多加一个额外的临时系统,与你原本的系统无关。这时你可以取得 root 的权限来维护你的系统。
emergency.target:紧急处理系统的错误,在无法使用 rescue.target 时,可以尝试使用这种模式!
shutdown.target:就是执行关机。
getty.target:可以设置 tty 的配置。
正常的模式是 multi-user.target 和 graphical.target 两个,救援方面的模式主要是 rescue.target 以及更严重的 emergency.target。如果要修改可提供登陆的 tty 数量,则修改 getty.target。
下面是操作 target unit 命令的格式:
systemctl [command] [unit.target]
command 有:
get-default:取得目前的 target。
set-default:设置后面接的 target 成为默认的操作模式。
isolate:切换到后面接的模式。
查看和设置默认的 target
| $ sudo systemctl get-default |

笔者系统的默认 target 为 graphical.target,所以启动时默认启动图形界面。下面我们把它设置为 multi-user.target:
| $ sudo systemctl set-default multi-user.target |

实际的执行过程是删除之前的链接文件,然后创建新的到 /lib/systemd/system/multi-user.target 的链接文件。这样下次开机时默认会进入纯文本模式。
切换 target
我们还可以在不重新启动的情况下切换不同的 target,比如从图形界面切换到纯文本的模式:
| $ sudo systemctl isolate multi-user.target |
在一般情况下,使用上述 isolate 的方式即可完成不同 target 的切换。不过为了方便起见,systemd 也提供了
几个简单的指令用来切换操作模式,大致如下所示:
| $ sudo systemctl poweroff # 系统关机 $ sudo systemctl reboot # 重新开机 $ sudo systemctl suspend # 进入暂停模式 $ sudo systemctl hibernate # 进入休眠模式 $ sudo systemctl rescue # 强制进入救援模式 $ sudo systemctl emergency # 强制进入紧急救援模式 |
这里简单介绍一下暂停模式与休眠模式的区别
suspend:暂停模式会将系统的状态保存到内存中,然后关闭掉大部分的系统硬件,当然,并没有实际关机。当用户按下唤醒机器的按钮,系统数据会从内存中回复,然后重新驱动被大部分关闭的硬件,所以唤醒系统的速度比较快。








