在 Debian 安装上禁用 GNOME

在 Debian 安装上禁用 GNOME

我对 Linux 很陌生,我正在设置 Debian 服务器。由于大多数时候我不需要 GUI,所以我想禁用它在启动时运行并浪费系统资源。

不过,我仍然希望用它来运行 Firefox 并执行使用命令行可能会很困难的任务。

我尝试对这个主题进行一些研究,人们似乎说这条线可以做到这一点:

#update-rc.d -f gdm remove

(我假设哈希值表示我应该将其输入终端;如果我将其留在终端中,则不会发生任何事情)

如果我以 root 身份 SSH 并输入该行,我会收到结果:

update-rc.d: using dependency based boot sequencing

这是非常神秘的。当我之后重新启动计算机时,GNOME 会立即恢复。有谁知道我在这里做错了什么?

答案1

根据您运行的 debian 版本,它可以是

update-rc.d -f gdm remove

或者

update-rc.d -f gdm3 remove

重新启动..就是这样!我刚刚测试过

答案2

图形环境由“X 显示管理器”启动。根据您运行的 Debian 版本,可以是gdmgdm3(至少对于 GNOME;还有其他显示管理器,例如kdmKDE)。

您可以通过查看来检查系统上正在使用哪个显示管理器/etc/X11/default-display-manager。您可以通过编辑该文件来更改它。您可以通过更改该文件以包含(例如)来禁用它none。但是这样你就无法在需要时手动启动它(尽管startx仍然可以正常工作)。

或者,您可以将 gdm3(或任何一个)更改为不在引导时启动。您可以像任何其他服务一样通过操作 中的链接来执行此操作/etc/rc?.d。在最近的 Debian 上,您可以使用update-rc.d gdm3 disable.然后您可以通过运行手动启动它service gdm3 start

答案3

假设系统是 Red Hat 变体(Debian 方向略有不同) - 请参阅 U&L 问题:如何在不使用 GUI 的情况下将 Debian 启动到文本模式?

红帽变种

gdm您可能想考虑在运行级别 3 而不是运行级别 5 下运行系统,而不是删除。

运行级别

ID  Name                                Description
--  ----                                -----------
0   Halt                                Shuts down the system.
1   Single-user Mode                    Mode for administrative tasks.
2   Multi-user Mode                     Does not configure network interfaces
                                        and does not export networks services.

3   Multi-user Mode with Networking     Starts the system normally.
4   Not used/User-definable             For special purposes.
5   Start the system normally with      As runlevel 3 + display manager.
    appropriate display manager.
    ( with GUI )

6   Reboot                              Reboots the system.

您可以使用以下命令查看系统处于哪个运行级别runlevel

$ runlevel
N 5

这向您显示了以前和当前的运行级别。如果没有先前的运行级别,则 aN会替换该位置。

要更改运行级别,您可以使用命令临时执行此操作telinit <runlevel>,例如:

telinit 3

现在重新运行runlevel显示:

$ runlevel
5 3

要使此更改永久生效,您可以编辑该文件/etc/inittab并更改此行:

$ sudo vim /etc/inittab
id:3:initdefault:

然后重新启动,您的系统现在应该处于运行级别 3。

检查配置

要查看是否为给定的运行级别配置了服务,您可以使用以下命令chkconfig

chkconfig --list | grep ssh
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off

因此ssh设置为在运行级别 2、3、4 和 5 中启动。

Debian/Ubuntu 变体

在 Debian/Ubuntu 上,事物的位置不同,运行级别也不同。

运行级别

0 - shutdown
1 - single user mode
2 - multiuser graphical mode
6 - reboot

默认运行级别为 2。您可以使用以下命令确认这一点runlevel

$ runlevel
N 2

可以使用以下命令更改运行级别telinit

telinit 3

要使这些更改永久生效,您可以编辑该文件:/etc/init/rc-sysinit.conf并更改以下行:

$ sudo vim /etc/init/rc-sysinit.conf
env DEFAULT_RUNLEVEL=2

sysv-rc-conf

可以从终端使用该工具sysv-rc-conf来询问哪些服务在给定的运行级别上运行。例如:

$ sysv-rc-conf --list|grep rsync
rsync        2:on   3:on    4:on    5:on

然而,有些服务不会显示在此之下。在 Debian/Ubuntu 下,sysV 服务机制正在被一种名为upstart.

$ status ssh
ssh start/running, process 928

您可以看到服务将以哪个运行级别启动,如下所示:

$ initctl show-config ssh
ssh
  start on (filesystem or runlevel [2345])
  stop on runlevel [!2345]

答案4

在我的 Debian 系统上,显示管理器是 LightDM,因此为了将其从引导过程中删除,我发出了update-rc.d lightdm disable.

相关内容