进入init 3的三种方法
方法1:使用telinit命令(推荐)
sudo telinit 3
- 原理:
telinit是切换运行级别的标准命令,向init进程发送指令。 - 效果:系统立即终止图形界面(如GNOME/KDE),切换到纯命令行终端。
- 验证:执行
who -r查看当前运行级别(显示run-level 3)。
方法2:使用init命令
sudo init 3
- 说明:
init是telinit的软链接,功能相同,部分旧系统可能仅支持init。
方法3:修改默认运行级别(永久生效)
- 编辑配置文件:
sudo nano /etc/inittab # 适用于SysVinit系统
- 找到行
id:5:initdefault:,将5改为3(若没有则新增一行)。 - 重启生效:
sudo reboot
systemd系统的替代方案(现代Linux发行版)
大多数新系统(如Ubuntu 18.04+、CentOS 7+)已用systemd替代传统init,需使用以下命令:
sudo systemctl isolate multi-user.target # 临时进入等效模式
- 设为默认:
sudo systemctl set-default multi-user.target
关键注意事项
- 权限要求:必须使用
sudo或root账户执行。 - 图形界面中断:切换后图形界面会关闭(运行级别5为图形模式)。
- 恢复图形界面:
- 临时恢复:
sudo telinit 5或sudo systemctl start graphical.target - 永久恢复:将默认级别改回
5或graphical.target。
- 临时恢复:
- 系统兼容性:
- 传统系统(Debian 7/CentOS 6):支持
init 3。 - 现代系统(Ubuntu/CentOS 7+):使用
systemd命令。
- 传统系统(Debian 7/CentOS 6):支持
- 风险提示:
- 未保存的图形界面工作会丢失。
- 确保命令行下具备管理能力(无图形工具)。
常见问题解答
- 如何查看当前运行级别?
runlevel # 传统系统 systemctl get-default # systemd系统
- 切换后无法联网?
运行级别3默认启用网络,检查服务状态:sudo systemctl status NetworkManager。 - 误操作导致黑屏?
按Ctrl+Alt+F2~F6切换终端,登录后执行telinit 5恢复。
为什么需要init 3?
- 服务器运维:减少资源占用(图形界面消耗内存/CPU)。
- 系统修复:图形界面崩溃时,命令行更稳定。
- 批量管理:便于通过SSH远程控制多台设备。
引用说明基于Linux man-pages (
man init、man systemd)、SysVinit文档及Red Hat/CentOS官方指南,具体命令可能因发行版差异略有不同,请以实际系统为准。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4377.html