如何设置 Ubuntu 默认启动进入命令行模式(附 Runlevel 详解)
🛠️ 核心操作:桌面与命令行模式的自由切换
在目前的 Ubuntu(以及大多数现代 Linux 发行版)中,系统初始化和服务管理由 systemd 接管。我们通过更改默认的“目标(Target)”来实现启动模式的切换。
1. 设置默认启动为纯命令行模式
打开终端,执行以下命令:
sudo systemctl set-default multi-user.target
执行后,系统会提示默认的启动链接已经从图形界面指向了多用户命令行。
此时,只需重启系统:
sudo reboot
重启后,你将看到一个纯粹的 TTY 终端登录界面,系统的图形组件不再被自动加载,大量的运行内存被成功释放。
2. 如何恢复默认启动桌面环境?
如果你后续由于某些需求,希望系统开机再次回到你熟悉的桌面环境,只需在命令行登录后执行:
sudo systemctl set-default graphical.target
同样,重启后即可生效。
3. 进阶技巧:在命令行模式下“临时”启动桌面
有时候我们把系统设置成了命令行启动,但临时需要打开浏览器查个资料或使用某个图形化工具,怎么办?你不需要修改默认启动项然后重启。
只需在终端输入:
sudo systemctl isolate graphical.target
这会立刻在当前状态下唤醒并启动图形界面服务。当你处理完工作再次重启电脑时,系统依然会乖乖地默认进入命令行模式。
🧠 原理深挖:什么是 Runlevel 5?
如果你接触过早期的 Linux 系统(使用 SysVinit 作为初始化程序),你一定听说过 运行级别(Runlevel) 这个词。
在过去,Linux 系统通过 0 到 6 这七个数字来定义系统的不同运行状态。其中,Runlevel 5 的核心含义就是:带有图形用户界面的完整多用户模式 (Multi-user mode with GUI)。
它的特征包括:
- 启动显示管理器:加载 X11 或 Wayland 服务,呈现图形化的登录界面。
- 完整的网络支持:所有的网络服务在后台正常运行。
- 多用户并发:允许多个用户同时通过网络或本地登录。
历史与现代的映射:systemd targets
在如今的 systemd 时代,“运行级别”的概念已经被更灵活的“目标(Target)”所取代。过去的 Runlevel 和现在的 Target 存在着一一对应的映射关系:
| 传统 Runlevel | systemd Target | 系统状态描述 | 常见场景 |
|---|---|---|---|
| Runlevel 0 | poweroff.target |
关机 (Halt) | 执行 shutdown -h now 时的底层动作 |
| Runlevel 1 | rescue.target |
单用户/救援模式 | 系统修复、重置 Root 密码 |
| Runlevel 2 | multi-user.target |
多用户模式(无网络文件系统) | 较少单独使用 |
| Runlevel 3 | multi-user.target |
纯命令行多用户模式 | 服务器的默认运行状态 |
| Runlevel 4 | 未定义 | 保留级别 | 留给用户自定义 |
| Runlevel 5 | graphical.target |
图形界面多用户模式 | 桌面版系统的默认运行状态 |
| Runlevel 6 | reboot.target |
重启 (Reboot) | 执行重启指令时进入此级别 |
可以看到,当我们执行 sudo systemctl set-default multi-user.target 时,本质上就是把系统从传统的 Runlevel 5 降级到了 Runlevel 3。

浙公网安备 33010602011771号