Booten Sie Ubuntu 16.04 über die Kommandozeile / starten Sie die GUI nicht

30

Ich möchte, dass mein Ubuntu 16.04 die GUI nicht beim Booten startet und nur die Kommandozeilenkonsole anzeigt. Ich habe die folgenden Rezepte ausprobiert, aber keines davon ist für die Version 16.04 und daher scheinen sie nicht zu funktionieren - die GUI startet trotzdem:

  1. GRUB_CMDLINE_LINUX = ”Text”

  2. Ändern des Standard-Runlevels

Idealerweise möchte ich die GUI auch durch Eingabe eines Befehls starten können.

Greendrake
quelle

Antworten:

27

Sie können den Display Manager-Dienst mit deaktivieren systemctl. Zum Beispiel, wenn Ihr Display Manager lightdmdann ausgeführt wird:

sudo systemctl disable lightdm.service

Dies verhindert, dass der Dienst beim Booten gestartet wird.

Bearbeiten :

Ich habe vergessen zu erwähnen, wie die GUI gestartet werden soll. So einfach starten Sie den systemd-Dienst:

sudo systemctl start lightdm.service
Tristan-Mahnwache
quelle
1
Das hat bei mir am 16.04 auf einem Armboard geklappt. Vielen Dank. :)
Wojci
Dies hat auf meinem System nicht funktioniert. (16.04 LTS auf einem PC) Der Startbildschirm mit allen [OK] -Nachrichten wird angezeigt, wenn die Dienste gestartet werden, und friert dann ein.
Paul Williams
Übrigens, um den Dienst wieder zu aktivieren, ist der Befehl tatsächlich sudo systemctl enable lightdm.service
Paul Williams
16

Anstatt textrunlevel zu benutzen 3:

GRUB_CMDLINE_LINUX="3"

# To remove all the fancy graphics you need to get rid of `splash`.
GRUB_CMDLINE_LINUX_DEFAULT=”quiet”

# Uncomment to disable graphical terminal (grub-pc only) 
GRUB_TERMINAL=console

Dann update-grubund neu starten.


Aber du brauchst wirklich nur GRUB_CMDLINE_LINUX="3". Für einen schnellen Test ESCwährend des Bootens drücken, um in das Grub-Boot-Menü zu gelangen. Drücken Sie dann eund suchen Sie die Zeile, die den Kernel angibt, und fügen Sie 3am Ende Folgendes hinzu :

 linux /vmlinuz root=/dev/mapper/ubuntu ro 3

Booten Sie es mit CTRL+x


Idealerweise möchte ich die GUI auch durch Eingabe eines Befehls starten können.

Einer von diesen:

$ sudo telinit 5
$ sudo service lightdm restart
$ sudo systemctl start lightdm

Getestet auf Ubuntu 16.04.1 LTS.

ANZEIGE
quelle
2
"Text" durch "3" zu ersetzen, hat bei mir funktioniert! Sehr effizient ! Danke
ThomasGuenet
Hallo. Die Antwort sieht gut aus, ist aber schwer zu verstehen. Ich brauche nur im Idealfall einen Befehl, um in den Textmodus zu booten, das zu tun, was ich brauche, und in den normalen Desktopmodus zurückzukehren.
Nyxee
1
@nyxee Meine Antwort hat 3 Abschnitte. Folgen Sie dem zweiten: "Für einen schnellen Testschlag ..."
AD
Ich freue mich über die Informationen in Ihrem Beitrag. Wenn die Leute nach diesen Informationen suchen, sind sie normalerweise mit anderen Optionen erschöpft. Ich habe unten ein Beispiel für eine einfache Antwort gegeben.
Nyxee
1
Gute Antwort. Ich bin nur daran gewöhnt, längere Antworten mit vielen Informationen zu posten, damit wir alle mehr erfahren können. Und auch ich bin mit grub cmd Zeilenoptionen vertraut , so dass es schneller ist für mich hinzufügen 3 und ich bin gut zu gehen + es ist Multi-Distro Lösung :)
AD
10
  • Im GUI-Modus gelangen Sie beim Neustart in den Textmodus (Runlevel 2,3,4). Sie können einen leeren Bildschirm (nicht-gui) erhalten , die eine Erinnerung daran ist , dass es keine GUI :-), geben Sie ctrlalt( F1, F2, ...) die Runlevel zu verwenden.

systemctl set-default multi-user.target

  • Dadurch kehren Sie im Textmodus zum GUI-Start zurück.

systemctl set-default graphical.target

Nyxee
quelle
9

Als Teil der Kernel-Befehlszeile (über GRUB bearbeitbar) sollte Folgendes funktionieren:

  • systemd.unit=multi-user.targetüberschreibt die Standardeinstellung von "graphical.target" - dies entspricht zusammen mit systemctl set-default der Standardeinstellung von " runlevel ";
  • systemd.mask=lightdm.serviceverbietet das Starten eines bestimmten Dienstes, bis das System manuell entlarvt wird .
  • systemd.mask=display-manager.service - gleich;
  • rescueaka systemd.unit=rescue.targetist das Äquivalent von "Einzelbenutzer-Runlevel"; Nicht für den täglichen Gebrauch, aber nützlich bei der Behebung defekter GUI.
Grawity
quelle
Es wäre nützlich zu erwähnen, wie Sie von dieser "Noteinstellung" zur Normalität zurückkehren .
Nyxee
1
Zum Wohle anderer lautet der tatsächliche CLI-Befehl, den Sie möchten systemctl set-default multi-user.target(und ich glaube, er systemctl set-default graphical.targetwürde ihn zurücksetzen)
Andrea
Das ist nur möglich, wenn Sie es semi-permanent haben möchten und überhaupt erst eine Hülle erreichen können. Der Hauptbeitrag hat nichts mit CLI-Befehlen zu tun.
Grawity
3

Für Ubuntu 18.04 aktivieren Sie den Root-Benutzer

 sudo passwd

und dann

systemctl set-default multi-user.target
Mohannd
quelle