如何禁用 GDM 自动启动?

jos*_*rcg 13 server gdm upstart

在 Ubuntu Server 12.04 安装之后,我安装了 Xubuntu 只是为了有一个最小的 GUI:

sudo apt-get install x-window-system-core
sudo apt-get install --no-install-recommends xubuntu-desktop gparted
Run Code Online (Sandbox Code Playgroud)

但现在我只想在某些情况下启动 X。在 12.04 之前,我只是发出:

sudo update-rc.d -f gdm remove
Run Code Online (Sandbox Code Playgroud)

但是这个命令不再起作用了。

如何在 Ubuntu 12.04 上从 init 中停止 X?以及如何在需要时启动它?

我已经尝试过这两个问题,但我没有 gdm.conf:

小智 22

对于 Ubuntu 18.04,这对我有用:

禁用 gdm
这将阻止 gdm 在启动时加载,并且通过控制台登录。

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

使用这种方法,gdm仍然可以手动启动systemctl start gdm

检查systemd默认值

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

通常这将是graphical.target并且可以通过systemctl set-default graphical.target

来源:https : //wiki.debian.org/GDM#systemd


Jer*_*err 15

在最新版本的 Ubuntu 中,gdm已被替换为lightdm- 这就是为什么您没有gdm.conf. 要设置lightdm为手动启动,请为其初始化配置创建一个“覆盖”文件:

echo 'manual' | sudo dd of=/etc/init/lightdm.override
Run Code Online (Sandbox Code Playgroud)

(这只是创建一个名为 的文件/etc/init/lightdm.override,其中包含一行内容manual

这样,lightdm 只会在您调用时启动:

sudo service lightdm start
Run Code Online (Sandbox Code Playgroud)

并阻止它:

sudo service lightdm stop
Run Code Online (Sandbox Code Playgroud)

  • @B1KMusic:当然;但是你必须执行一个额外的命令来获取 root shell。我更喜欢使用 sudo 并尽可能以特权用户身份运行绝对最少的东西(在这种情况下,以 root 身份运行 `bash`,而不是以 root 身份运行 `dd`) (4认同)
  • 以 root 身份输入 `echo manual >> /etc/init/lightdm.override` 不是更容易吗? (3认同)