如何设置 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

posted @ 2026-05-25 00:42  BlackSnow  阅读(25)  评论(0)    收藏  举报