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.