如何禁用GDM自动启动?


11

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

sudo apt-get install x-window-system-core
sudo apt-get install --no-install-recommends xubuntu-desktop gparted

但是现在我只想在某些情况下开始使用X。在12.04之前,我只发出:

sudo update-rc.d -f gdm remove

但是此命令不再起作用。

如何在Ubuntu 12.04上从init停止X?并且在需要时如何启动它?

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


因此,您拥有Ubuntu桌面,后安装了Xubuntu,但又不想使用默认的Xubuntu图形会话,而只想手动启动X?
belacqua 2012年

谢谢+ Jorge Castro。我之前已经阅读过这两篇文章,但都可以在gdm.conf上使用,但是此框上没有gdm配置。
josircg 2012年

感谢您答复belacqua。不,这是Ubuntu服务器。这正是我想要的:仅在某些情况下启动X。
josircg 2012年

我想知道Xubuntu是否没有gdm.conf-这应该是我所有问题的根源。
josircg 2012年

Answers:


14

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

echo 'manual' | sudo dd of=/etc/init/lightdm.override

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

这样,仅当您调用以下命令时,lightdm才会启动:

sudo service lightdm start

并停止它:

sudo service lightdm stop

3
echo manual >> /etc/init/lightdm.override以root用户身份输入会更容易吗?
Braden Best

4
@ B1KMusic:肯定;但是随后您必须执行一条额外的命令才能获取根shell。我更喜欢使用sudo并尽可能以特权用户身份运行绝对最少的东西(在这种情况下,bash以root dd身份运行,而不是以root 身份运行)
Jeremy Kerr 2013年

这是使用dd等强大工具的愚蠢原因。用手指弄油(例如在光线中间按下标签)并破坏重要文件非常容易。
罗伯·罗素

@RobRussell:与为任何命令提供文件名有什么不同?使用dd此处的优点是您仅以root身份运行一个(简单)进程,而不是整个shell。
杰里米·科尔

不同之处在于dd根据其所犯的错误可能会产生非常不同的结果。目的是使一行文本进入文件。文本编辑器就是为此而设计的。如果用户按照这些说明进行操作,则他们在编写完成后将看不到文件。如果他们想返回并编辑该文件或查看其内容,则必须使用完全不同的命令。我想大多数人会考虑在这里使用编辑器(nano,gedit,vi等)。
罗伯·罗素

17

对于Ubuntu 18.04,这对我有用:

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

systemctl set-default multi-user.target

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

检查systemd默认

systemctl get-default

通常,这将是graphical.target并且可以还原为systemctl set-default graphical.target

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


4

只想分享,可能对任何人都有帮助。

我安装了Ubuntu Server 12.04,后来又安装了图形界面kubuntu-desktop

现在,当我想禁用图形启动/登录时,我尝试了所有选项

/etc/default/grub..使条目GRUB_CMDLINE_LINUX_DEFAULT="text"代替"quiet splash"

update-grub

update-rc.d -f ldm remove
update-rc.d -f kdm remove
update-rc.d -f gdm remove

以及

echo 'manual' | sudo tee /etc/init/lightdm.override

没事。然后,我编辑了/etc/init/kdm.conf,并向和运行级别添加了2个默认运行级别[!026]

stop on runlevel [0126]
#================================================================
#start on ((filesystem
#           and runlevel [!026]
#           and started dbus
#           and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
#                or stopped udev-fallback-graphics))
#          or runlevel PREVLEVEL=S)
#
#stop on runlevel [0126]
#================================================================

有效。


有相同的经验。这也适用于/etc/init/gdm.conf
Donn Lee

2

我在上网本上安装了Ubuntu Server 12.04,主要是因为我更喜欢CLI,而我更喜欢GUI,但我希望使用轻便的GUI来处理小事情。我安装了LXDE,而不是Lubuntu,但是它将启动LXDM,即LXDE的登录管理器。我四处张望,尝试了很多事情来使它停止加载LXDE。在查看了此问题和答案之后,我找到了一种针对LXDE停止它的好方法。

我没有添加类似于lightdm.override的文件,而是在/ etc / init中查找并找到了一个名为lxdm.conf的文件。浏览文件后,主要是因为我很好奇,我发现这是我需要或不需要的文件。关闭文件后,我将其重命名

    sudo mv /etc/init/lxdm.conf /etc/init/lxdm.conf.bak

我重命名了它而不是删除它,以防它引起问题,但是到目前为止,重命名此文件我还看不出任何问题,因此删除它应该是安全的。

我不了解其他DE,但这在LXDE中对我有用。


1

检查systemctl get-default

如果输出graphical.target,然后将其设置为multi-user.target具有systemctl set-default

systemctl set-default multi-user.target

有关更多有关systemd-targets的信息,请参考此链接:10.3。使用系统目标


0

以下是针对Ubuntu Server 12 LTS的信息

首先,您需要使用CTRL+ 打开一个实词ALT F1

登录

使用以下命令停止gdm:

$ sudo service gdm stop

删除服务器上根本不需要的gdm。

$ sudo apt-get remove gdm 

设置下一个启动运行级别。

$ sudo telinit 3

如果没有gdm窗口管理器,您仍然希望运行基于gui的应用程序,则需要安装xinit。

$ sudo apt-get install xinit

重新启动到运行级别3。

$ sudo reboot

要在重新引导后运行GUI或桌面,请执行。

$ startx 

这将正常启动您的gnome会话。

完成后,只需注销您的桌面并回到3级学期。

您现在也可以在没有桌面的情况下启动单个应用,例如:

$ startx nautilus

或享有

$ startx sudo synaptic
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.