Avviare Ubuntu 16.04 nella riga di comando / non avviare la GUI


30

Voglio che Ubuntu 16.04 non avvii la GUI all'avvio e mostri solo la console della riga di comando. Ho provato i seguenti destinatari, ma nessuno di questi è per la versione 16.04 e quindi non sembrano funzionare - la GUI si avvia comunque:

  1. GRUB_CMDLINE_LINUX =”text”

  2. Modifica del runlevel predefinito

Idealmente, voglio anche essere in grado di avviare la GUI digitando un comando.

Risposte:


27

È possibile disabilitare il servizio di gestione display con systemctl. Ad esempio, se viene lightdmeseguito il display manager :

sudo systemctl disable lightdm.service

Ciò impedirà l'avvio del servizio all'avvio.

Modifica :

Ho dimenticato di menzionare come avviare la GUI. È semplice come avviare il servizio systemd:

sudo systemctl start lightdm.service

1
Questo ha funzionato per me il 16.04 su una tavola armata. Grazie. :)
Wojci,

Questo non ha funzionato sul mio sistema. (16.04 LTS su un PC) Mostra la schermata iniziale con tutti i messaggi [OK] all'avvio dei servizi, quindi si blocca.
Paul Williams,

A proposito, per riattivare il servizio il comando è effettivamente sudo systemctl abilita lightdm.service
Paul Williams

16

Invece di textusare runlevel 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

Quindi update-grubriavviare.


Ma hai davvero solo bisogno GRUB_CMDLINE_LINUX="3". Per un rapido test di prova ESCdurante l'avvio per accedere al menu di avvio di GRUB. Quindi premere ee trovare la riga che specifica il kernel e aggiungere 3alla fine:

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

Avvialo con CTRL+x


Idealmente, voglio anche essere in grado di avviare la GUI digitando un comando.

Uno di questi:

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

Testato su Ubuntu 16.04.1 LTS.


2
Sostituendo "testo" con "3", ha funzionato per me! Molto efficiente ! Grazie
ThomasGuenet il

Ciao. la risposta sembra carina ma è difficile da capire. Idealmente ho solo bisogno di un comando per avviare in modalità testo, fare quello che mi serve e tornare alla normale modalità desktop.
Nyxee,

1
@nyxee La mia risposta ha 3 sezioni. Segui il secondo: "Per un rapido test di successo ..."
AD

Apprezzo le informazioni nel tuo post. quando le persone cercano queste informazioni, sono normalmente esaurite con altre opzioni. Di seguito ho fornito un esempio di una semplice risposta.
nyxee,

1
Bella risposta. Sono abituato a pubblicare risposte più lunghe con molte informazioni in modo che tutti possiamo saperne di più. E anche io sono familiarità con le opzioni della riga di grub cmd quindi è più veloce per me aggiunga 3 e sto bene ad andare + è una soluzione multi-distro :)
AD

10
  • Quando si è in modalità GUI, questo vi porterà in modalità testo (runlevel 2,3,4) al riavvio. È possibile ottenere una schermata vuota (no-gui), che è un ricordo che non c'è GUI :-), immettere ctrlalt( F1, F2, ...) per utilizzare i runlevel.

systemctl set-default multi-user.target

  • Questo ti riporterà all'avvio della GUI quando sei in modalità testo.

systemctl set-default graphical.target


9

Uno dei seguenti, come parte della riga di comando del kernel (modificabile tramite GRUB), dovrebbe funzionare:

  • systemd.unit=multi-user.targetsovrascriverà il valore predefinito di "graphical.target" - questo, insieme a systemctl set-default , è l'equivalente di "default runlevel";
  • systemd.mask=lightdm.servicevieterà l' avvio di un servizio specifico, fino a quando il sistema non verrà smascherato manualmente in un secondo momento;
  • systemd.mask=display-manager.service - stesso;
  • rescueaka systemd.unit=rescue.targetè l'equivalente di "runlevel per utente singolo"; non per l'uso quotidiano, ma utile per correggere la GUI non funzionante.

sarebbe utile menzionare il modo in cui si ritorna alla normalità da quella "impostazione di emergenza".
Nyxee,

1
A beneficio di altri, l'attuale comando CLI che desideri è systemctl set-default multi-user.target(e credo che systemctl set-default graphical.targetlo ripristinerebbe)
Andrea

Questo è solo se lo vuoi semi-permanente, e puoi raggiungere una shell in primo luogo. Il post principale non ha nulla a che fare con i comandi CLI.
Grawity,

3

per Ubuntu 18.04 abilitare l'utente root

 sudo passwd

e poi

systemctl set-default multi-user.target
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.