如何无头启动 Debian(无 GUI)

Mer*_*ion 6 linux debian debian-stretch

我在 VirtualBox 的 debian 系统上配置了一个 Web 地图服务,并使用 GUI 来让我这个 Linux 新手更容易上手。但现在系统已经完成并正在运行,并将被转移到我们云服务上的虚拟机上供客户使用。那里的 GUI 显然是不需要的,只会消耗不必要的资源。

我试图找出要编辑哪个配置文件或发出哪个命令来使 Debian 无头启动。但我的搜索结果出人意料地空无一物——我要么找到了无头安装的说明,要么找到了比我更具体的情况。

我发现的是这样的:

systemctl disable lightdm
Run Code Online (Sandbox Code Playgroud)

但它附带警告,如果需要,我可能无法重新启用它。

所以我来这里询问更有经验的用户是否
a) 这是我想要的正确命令 b
) 如果有办法恢复它,我是否需要它

对于 Linux 初学者的任何帮助将不胜感激!

Fan*_*que 11

自 systemd 以来,操作系统总是启动到所谓的“目标”。在 GUI 系统上,默认启动目标是graphical.target,而在没有任何 DE 或图形环境的系统上,它称为multi-user.target

让机器只启动到 tty 而不使用任何 GUI 的正确方法是切换默认目标:

systemctl set-default multi-user.target
Run Code Online (Sandbox Code Playgroud)

要检查当前的默认目标是什么:

systemctl get-default
Run Code Online (Sandbox Code Playgroud)

我不知道“无头”一词,我从未见过它被用于这种情况,这可能就是您找不到任何信息的原因。

并实际回答您的问题:

这是我想要的正确命令吗

不它不是。该命令仅禁用特定的桌面管理器。它实际上并没有禁用 GUI,系统仍然会引导和启动大多数 GUI 服务和进程 - 因此它仍然会使用更多资源。我已经向您展示了基于 systemd 的发行版的正确方法。

如果有办法恢复这个状态,我是否需要它

只需启用它即可。警告就是警告,它的存在是因为许多问题可能会随机发生——我们无法预测它们。如果在重新启用它的时间到来时确实出现了问题 - 只需发布另一个问题即可。

如果您使用 systemd 使系统启动到multi-user.target,您可以通过切换回 来恢复它graphical.target

systemctl set-default graphical.target
Run Code Online (Sandbox Code Playgroud)

  • *更新* 显然术语“无头”用于硬件,所以基本上是服务器系统本身,而不是其上的软件:https://en.wikipedia.org/wiki/Headless_computer (2认同)