如何将 Linux 引导至命令行模式而不是 GUI?

Don*_*ild 29 command-line boot rhel

我在我的 VM 中使用 32 位 Red Hat Linux。我想将它引导到命令行模式,而不是 GUI 模式。我知道从那里我可以使用startx命令切换到 GUI 模式。如何切换回命令行模式?

gol*_*lem 27

从 sysvinit 切换到 systemd 的 RedHat/CentOS 7 更新。

从 GUI 切换到 CLI: systemctl isolate multi-user.target

从 CLI 切换到 GUI: systemctl isolate graphical.target

要设置CLI为默认运行级别目标在systemd术语): systemctl set-default multi-user.target。类似的图形用户界面:systemctl set-default graphical.target

*CLI = 命令行界面 = 命令行模式

  • 谢谢。。尽管 /etc/inittab 已经过时,但每个论坛仍在倾倒有关 /etc/inittab 的旧知识。 (2认同)

Jos*_* R. 24

更新:下面的答案现已过时

对于现在的很多发行版,默认是 systemd 而不是 sysvinit。下面的答案是在考虑 sysvinit 的情况下编写的。最新的答案(如果你有 systemd 作为你的初始化系统,你应该使用的答案)是golem's answer

sysvinit 答案(在大多数当前发行版上已过时):

您希望将运行级别 3 设为默认运行级别。从终端切换到 root 并执行以下操作:

[user@host]$ su
Password:
[root@host]# cp /etc/inittab /etc/inittab.bak #Make a backup copy of /etc/inittab
[root@host]# sed -i 's/id:5:initdefault:/id:3:initdefault:/' /etc/inittab #Make runlevel 3 your default runlevel
Run Code Online (Sandbox Code Playgroud)

#每行第二个之后(包括)之后的任何内容都是对您的注释,您无需将其输入到终端中。

有关更多信息,请参阅有关运行级别的 Wikipedia 页面

sed命令说明

  • sed命令是一个流编辑器(因此得名),您可以使用它来操作数据流,通常是通过正则表达式
  • 在这里,我们告诉用文件中的模式sed替换模式,该文件是控制您的运行级别的文件。搜索和替换的一般语法是。id:5:initdefault:id:3:initdefault:/etc/inittabseds/pattern/replacement_pattern/
  • -i选项告诉sed将修改应用到位。如果不存在,sed则会将结果文件(替换后)输出到终端(更一般地输出到标准输出)。

更新

要切换回文本模式,只需按CTRL+ ALT+ F1。这不会停止您的图形会话,它只会将您切换回您登录的终端。您可以切换回与图形会话CTRL+ ALT+ F7


Tim*_*tin 11

首先将用户切换到root。

su -
Password:
Run Code Online (Sandbox Code Playgroud)

输入根密码。

使用您喜欢的编辑器修改以下行/etc/inittab

id:5:initdefault:
Run Code Online (Sandbox Code Playgroud)

将 5 更改为 3。当您(重新)启动计算机时,它将带您进入命令行而不是 GUI。