Come disabilitare X all'avvio in modo che il sistema si avvii in modalità testo?


220

È possibile disabilitare X all'avvio? Sto configurando un server, quindi sarebbe bello se non caricasse l'interfaccia grafica ogni volta che avvio.


Nella schermata di accesso GDM di 11.04 e precedenti, penso che ci fosse un'opzione di sessione xterm che ti avrebbe dato solo una riga di comando. In alternativa, potresti essere in grado di raggiungere qualcosa da un'opzione di recupero in GRUB, anche se probabilmente non saresti in grado di impostarlo come predefinito in quel modo.
Christopher Kyle Horton,

puoi anche guardare questo post askubuntu.com/questions/2093/…
hhlp

È lightdm che vuoi. Ha sostituito gdm in 11.10.
Elvis Stressborg,

Grazie. Quindi, come posso impedire il caricamento di LightDM all'avvio?
Jim Wilson,

Risposte:


263

Modifica /etc/default/grubcon il tuo editor preferito, ad esempio nano:

sudo nano /etc/default/grub

Trova questa linea:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Modificalo in:

GRUB_CMDLINE_LINUX_DEFAULT="text"

Aggiorna GRUB:

sudo update-grub

Per i sistemi che utilizzano systemd

Questo è un passaggio aggiuntivo per le versioni di systemd, ad esempio Ubuntu 15.04, i passaggi precedenti per grub sono ancora necessari.

Devi dire systemddi non caricare il gestore grafico degli accessi:

sudo systemctl enable multi-user.target --force
sudo systemctl set-default multi-user.target

Potrai comunque usare X digitando startxdopo aver effettuato l'accesso.


3
Funziona con lightdm, funziona con qualsiasi gestore di login grafico? Questo è il modo corretto di caricare un sistema Linux senza caricare un server X? Sembra solo più logico? Scegli uno ... :)
Bruno Pereira,

1
Qualche gestore grafico di login? Questa soluzione invece è legata a grub che non viene utilizzata (o addirittura disponibile) su nuove piattaforme mobili su cui è in esecuzione Ubuntu, mentre la disabilitazione del servizio è indipendente dal bootloader. Maniera giusta ? Nessun dato di fatto. Più logico? L'inibizione di un determinato servizio non è logicamente un parametro di avvio. Ma hai ancora ragione in qualche modo a causa di un altro fatto: la tua soluzione non solo inibisce lightdm ma anche plymouth (al passo di initrd e altri), quindi la sua semantica non è "disabilita X" ma "disabilita qualsiasi configurazione grafica" e che deve giocherellare configurazione del bootloader. Grazie !
Stéphane Gourichon,

2
Poiché la domanda è fatta per Ubuntu e non per la piattaforma mobile (puoi anche cambiare qualcosa nella versione mobile di Ubuntu? Perché sarebbe una buona cosa? Immagino che saresti bloccato a un prompt che non sa nulla sull'input da tastiera e accetta tocchi e gesti fantasiosi: P) Suppongo che stiamo parlando di Ubuntu, il sistema operativo desktop basato su Linux che adoro e che posso modificare in base alle mie esigenze. :) Ma hai ragione, c'è un problema di semantica con il titolo del post, sentiti libero di modificarlo in qualcosa di più appropriato! Grazie per i commenti
Bruno Pereira,

11
@Joyce prima esegui systemctl get-defaultper scoprire qual è il nome corrente a livello di esecuzione e ricorda il suo nome, quindi usa systemctl set-default multi-user.targetper cambiarlo in "multi-user.target" o esegui invece questi comandi uguali e vedi le modifiche. rm '/etc/systemd/system/default.target'allora ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target'. Se il problema persiste, ripetere il livello di esecuzione predefinito in cui lo si ricorda systemctl set-default RunLevelName.
αғsнιη il

3
sul comando systemctl ricevo il messaggio di errore: "I file di unità non hanno sezione [Installa]."
don luminoso

32

L'installazione della GUI probabilmente ne farà l'avvio automatico, ma è molto semplice avviare in modalità testo in Ubuntu. Basta aprire /etc/default/grubcome root e aggiungere texta

GRUB_CMDLINE_LINUX_DEFAULT=

linea. Quindi eseguire:

sudo update-grub

Il sistema si avvierà quindi sempre in modalità testo.

Se si desidera avviare la GUI, è sufficiente premere enel menu di avvio e rimuovere textdalla kernelriga.

Se vuoi avviare la GUI dopo l'avvio, esegui semplicemente:

sudo /etc/init.d/lightdm start

Spero che sia di aiuto :)


ubuntu 11.10 non usa gdm come gestore dei login
predefinito


2
@hhlp: risolto. Con l'ultimo aggiornamento di Lightdm, il processo di avvio rispetta il textcmdline del kernel.
Andrew Gunnerson,

È valido per 12.04?
asheeshr,

1
@AshRj: Sì, è valido per tutte le versioni di Ubuntu usando upstart :)
Andrew Gunnerson,

25

Per 11.04 e versioni precedenti (e forse più tardi)

Se si desidera avviare in modalità testo:

Modifica /etc/default/grub. Per esempio:

sudo gedit /etc/default/grub

Trova questa linea:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Aggiungi text:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"

Quindi aggiorna Grub:

sudo update-grub

Nota: la rimozione quiet splash(ad es. GRUB_CMDLINE_LINUX_DEFAULT="") Mostrerà il testo durante l'avvio ma quindi mostrerà una schermata di accesso grafica come al solito. La sostituzione quiet splashcon textti lascerà al prompt di accesso; per avviare una sessione GNOME, usare sudo /etc/init.d/gdm starto startx.

Per disabilitare GDM:
Installa bum Installa bum .

Dopo l'installazione si troverà in Sistema >> Amministrazione >> Bootup-Manager

Deseleziona Gnome Display Manager testo alternativo


La configurazione di GRUB ha funzionato. Per curiosità, perché dovrei voler disabilitare GDM?
Olivier Lalonde il

1
perché farlo compirebbe la stessa cosa.
RolandiXor

1
Confermato nel 13.04 che GRUB_CMDLINE_LINUX_DEFAULT=""funziona per mostrare i dettagli durante l'avvio mentre si avvia ancora l'accesso grafico.
Jesse Glick,

23

Se si utilizza lightdm come gestore degli accessi, è possibile impedirne il caricamento disabilitandolo.

È possibile utilizzare una sostituzione:

sudo bash -c 'echo "manual" >> /etc/init/lightdm.override'

E per avviare lightdm a comando:

sudo start lightdm

Per ripristinare il sistema in modo che lightdm sia sempre avviato all'avvio:

sudo rm /etc/init/lightdm.override

Per ulteriori informazioni, il ricettario upstart è il tuo amico:


1
Questo non funziona in Ubuntu 15.10.
mmdanziger,


12

Ha già ricevuto risposta in molte vecchie domande, ma non le trovo proprio ora, quindi riassumo le varie situazioni qui.

  1. Per interrompere un server X avviato da startx, è sufficiente terminare la sessione.

  2. Per arrestare un server X avviato da Login Manager (GDM), eseguire

    sudo service gdm stop
    

    quindi passare a un tty , ad esempio premendo Ctrl- Alt- F1, quindi accedere qui in modalità testo.

  3. Per evitare del tutto l'avvio di Login Manager (e X), modificare

    /etc/default/grub
    

    cambiando la linea

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    

    diventare

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"
    

    quindi aggiorna il file di configurazione di grub con

    sudo update-grub
    

    così la prossima volta che vai direttamente in modalità testo e devi startxavviare una sessione X, o in alternativa sudo service gdm start.


8

Ho seguito

Passaggio 1 Aggiornare innanzitutto il repository eseguendo

sudo apt-get update

Passaggio 2 Esistono alcuni bug nella vecchia versione di lightdm, quindi è necessario aggiornare lo stesso. Per farlo corri,

sudo apt-get install lightdm

Passaggio 3 Ora dobbiamo modificare grub config. Passaggio 3a Apri /etc/default/grubcon il tuo editor preferito e modifica

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

per

GRUB_CMDLINE_LINUX_DEFAULT="text"

Step 3b Commenta anche GRUB_HIDDEN_TIMEOUT = 0 Questa riga serve per nascondere il menu GRUB

Passaggio 4 Ora aggiorneremo la configurazione di GRUB

sudo update-grub

Passaggio 5 Ubuntu 11.10 Desktop Edition utilizza lightdm per la GUI. Dobbiamo disabilitare lo stesso

sudo update-rc.d -f lightdm remove

Passaggio 6 Ora riavviare il computer.

Si trova su Disabilita l'avvio della GUI in Ubuntu 11.10


4

Sì, è possibile dire al sistema di avviarsi in console all'avvio tramite la modifica del comando grub. Quando raggiungi il menu di grub, evidenzia la voce di Ubuntu e premi e.

Vedrai del testo come nell'immagine qui sotto:

inserisci qui la descrizione dell'immagine

Cambia lo splash silenzioso del testo in testo . Premi F10per lanciare. (Fonte: rolling-ubuntu ). Ho testato questo sul mio sistema, 14.04, avviato nella console di testo, nessun lightdm in vista. Iniziato lightdm consudo initctl start lightdm

Per evitare di farlo ogni volta, puoi aggiungere una voce grub permanente con tale opzione come suggerito in questa risposta

Un suggerimento alternativo è quello di cambiare il runlevel predefinito e cambiare i runlevel in cui inizia / si ferma lightdm, come suggerito da un'altra risposta sullo stesso post


Ubuntu 18.04 Live ISO lancia ancora Xorg indipendentemente textdall'opzione. Invece, specificare il runlevel, semplicemente 3invece di textfarlo funzionare. Il merito va a questa risposta .
Ruslan,

@Ruslan Informazioni utili, grazie. La mia risposta è in realtà per il desktop specifico ed è stata pubblicata nel 2015 mentre la versione 14.04 era attuale.
Sergiy Kolodyazhnyy l'

Lo stavo testando sull'ISO live della versione desktop di Ubuntu 18.04. Niente richiede server o altre edizioni per 3far funzionare questa opzione (e per textnon funzionare, cosa che mi è successa).
Ruslan,

4

Ho notato che questo thread ruota attorno al fatto che tu stia usando LightDM come Display Manager. Anche se questo può essere il solito DM / welcomer, questo non fa parte della domanda originale. (E non ha specificato ..)

Nel mio caso:

Uso KDE / KDM sul mio server. Invece, disabilito semplicemente l'avvio / il servizio dall'avvio in runlevel 2:

/etc/init/kdm.conf : (kdm: 4: 4.8.5-0ubuntu0.3, versione di avvio: 1.5-0ubuntu7.2)

Trova:

start on ((filesystem

modificare

           and runlevel [!06]

per

           and runlevel [!026]

Supponendo che il tuo runlevel predefinito sia 2 al nuovo riavvio, avrai una console e non KDM. Quindi puoi eseguire DM / DE manualmente quando necessario = Usa 'startx' / etc. Per riportare la macchina alla console e uscire completamente dal server X dopo questo, basta usare 'logout'.

Gli altri script dm .confs sono simili. (Ho impostato il mio server in questo modo ... per poter lavorare con una GUI di tanto in tanto - ma non per estrarre risorse quando non si usa / necessario o semplicemente si riavvia.)


MODIFICARE

(Il mio sistema attuale: Upstart 1.12.1 / Ubuntu 14.04)

A causa dell'avvio, il modo per risolverlo ultimamente è semplicemente disabilitare Display Manager dall'avvio:

echo "manuale" | sudo tee -a / etc / init / {service} .override

Per lightdm:

 echo  "manual" | sudo tee -a /etc/init/lightdm.override

Questo può essere qualsiasi servizio in / etc / init incluso kdm / gdm. 'startx' per essere eseguito secondo necessità dopo un riavvio.

ref:
Come disabilitare lightdm?
Come abilitare o disabilitare i servizi?


2

I passaggi sono:

Personalizza la configurazione di grub 2:

  • sudo nano /etc/default/grub, per aprire il file con privilegio di root,

Trova la linea

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”

e cambiarlo in

GRUB_CMDLINE_LINUX_DEFAULT=”text”

Salva le modifiche (premi ctrl + o seguito da ENTER) e chiudi il file (ctrl + x).

Per applicare la nuova configurazione, procedere come segue

  • sudo update-grub

Ora riavvia il tuo PC

  • sudo reboot

Eccoti ... Una schermata di accesso grafica-testo ... Fornisci le tue credenziali per accedere a tty (default tty1). Puoi cambiare i tty con crtl + alt + [da F1 a F6] da tty1 a tty6. Puoi anche avviare la sessione X (sessione X11), l'interfaccia utente grafica, con sudo start lightdm(ctrl + alt + F7).


PS: Nel caso in cui desideri ripristinare le modifiche apportate qui segui il link:

Come ripristinare la GUI come interfaccia predefinita dalla CLI nel desktop di Ubuntu?


2

Se si utilizza Lubuntu 15.05 con systemd che gestisce i processi di avvio, è possibile eseguire l'avvio dalla console e successivamente dalla console avviare l'ambiente grafico. Segui questi passi:

  1. segui le modifiche sopra menzionate per grub per Bruno:
    modifica /etc/default/grubcon il tuo editor preferito, ad esempio: nano:

    sudo nano /etc/default/grub
    

    Scopri questa linea:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    

    Modificalo in:

    GRUB_CMDLINE_LINUX_DEFAULT="text"
    

    Aggiorna Grub:

    sudo update-grub
    
  2. Suggerì Bruno sudo systemctl enable multi-user.target --force. L'uso di forcemi ha infastidito, quindi ho preferito sudo systemctl set-default multi-user.target. aprire un terminale e faresudo systemctl set-default multi-user.target

  3. il riavvio ti porterà nella console chiedendo la password

  4. quando si desidera accedere all'ambiente grafico, inserire sudo systemctl start lightdm. Verrai indirizzato alla finestra di accesso di lightdm.

  5. usa la combinazione di tasti ctrl alt F1 per tornare alla console in cui ti trovavi per uscire, se lo desideri. (Esco dalla modalità console come di solito faccio fino al prossimo avvio) ctrl alt F7 per tornare al login di lightdm. o ctrl alt da F1 a F7 per necessità o desiderio.


1
Se hai una NUOVA domanda, chiedila facendo clic sul pulsante Poni domanda . Se hai una reputazione sufficiente, puoi votare la domanda. In alternativa, contrassegnalo come preferito e riceverai una notifica di eventuali nuove risposte.
Michael Lindman,

@randyblanc Sembra che possa essere, almeno in parte, una risposta alla domanda - ma è formulato in una sorta di domanda separata e correlata. Per chiarire questo aspetto alle persone in cerca di aiuto (in modo che sappiano che questo post potrebbe essere di aiuto) e per ridurre la probabilità che questo post venga considerato come non-risposta ed eliminato, ti consiglio di riformularlo e rimuovere anche tutto ciò che è in realtà una domanda (piuttosto che una soluzione proposta) e pubblicandola come una nuova domanda . Se questa non è davvero una risposta, ti preghiamo di comunicarcelo e / o eliminarlo.
Eliah Kagan,

2

Potresti anche voler impedire al kernel di cambiare le modalità video che possono essere problematiche, specialmente se non riesci a vedere il prompt di accesso o è parzialmente fuori dallo schermo. Aggiungi l'impostazione GRUB_CMDLINE_LINUX_DEFAULT = "nomodeset" su / etc / default / grub:

#GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true
#GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#for text mode boot up... and also uncomment the "console" terminal
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
#GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console

Testato con Ubuntu Server 16.04.1


2

Ho fatto quanto segue:

  1. Per prima cosa aggiorna il tuo repository eseguendo

    sudo apt-get update
    
  2. C'è qualche bug nella vecchia versione di lightdm, quindi dobbiamo aggiornare lo stesso. Per farlo corri,

    sudo apt-get install lightdm
    
  3. Ora dobbiamo modificare grub config.

    Apri /etc/default/grubcon il tuo editor preferito e modifica

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    

    per

    GRUB_CMDLINE_LINUX_DEFAULT="text"
    

    Commenta anche GRUB_HIDDEN_TIMEOUT=0questa riga per scoprire il menu di GRUB

  4. Ora aggiorneremo la configurazione di GRUB

    sudo update-grub
    
  5. Ora riavvia il tuo computer.


Secondo lightdm.confnon è necessario rimuovere lightdm.
Bruno Pereira,

se non lo hai rimosso, otterrai la GUI dopo aver fatto tutto questo.
Vidyadhar,

Siamo spiacenti, appena testato in 11.10, questo non è vero, non è necessario rimuovere lighdm, il passaggio 5 non è necessario.
Bruno Pereira,

Ok, ho rimosso il 5 ° passaggio relativo a lightdm
Vidyadhar,

1

Quando si installa Ubuntu-desktop, verrà automaticamente impostato lightdmper iniziare con il sistema. Dovrai disabilitarlo (probabilmente modificandolo /etc/rc.local) e utilizzarlo startxper eseguire l'interfaccia grafica quando ne avrai bisogno.


0

Solo un rapporto su Lubuntu 18.04.3 LTS.

sudo nano /etc/default/grub

quindi cambiando la riga sopra menzionata in:

GRUB_CMDLINE_LINUX_DEFAULT = "text"

sudo update-grub

Questo imposta correttamente la modalità testuale dell'avvio. Molto utile, posso tracciare e individuare i problemi senza andare nei file di registro.

systemctl get-default 

Questo genera "graphical.target" e per favore notalo per il futuro ripristino dello stato originale.

sudo systemctl set-default multi-user.target 

Questo ha disattivato la GUI di XWindows (lightdm e startx, openbox, ecc.), Ma ho dovuto digitare 3 volte il mio login / password per avviare Xwindows:

A) accedi

B) sudo lightdm # avvia xwindows con la mia impostazione predefinita (che è buona)

C) normale finestra di dialogo per l'accesso alla GUI di Lubuntu.

Tre accessi sono fastidiosi, ma per il resto funziona bene.

Ripristina impostazioni originali:

 sudo systemctl set-default graphical.target

Speriamo che questo sia utile a qualcuno. :-)


-2

Per Ubuntu 14.04 Trusty Tahr e Ubuntu 12.04 Precise Pangolin, systemd è stato aggiunto a un PPA di terze parti, quindi è facile testarlo sugli ultimi sistemi Ubuntu LTS. Tutto quello che devi fare è aggiungere il ppa al tuo sistema

sudo add-apt-repository ppa:pitti/systemd
sudo apt-get update
sudo apt-get dist-upgrade 

Ora apri il /etc/default/grubfile usando uno qualsiasi dell'editor di testo (che ho usato geditqui) con sudoprivilegio tramite Terminale per modificare come segue:

sudo -H gedit /etc/default/grub

cambia la linea GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"inGRUB_CMDLINE_LINUX_DEFAULT = "init=/lib/systemd/systemd"

salva il file e aggiorna Grub:

sudo update-grub

Quindi riavviare ora il sistema si avvierà nella console di testo tty1.

Per eseguire nuovamente l'accesso alla GUI

sudo start lightdm

Nota: non utilizzare startxo Ctrl+ Alt+ F7per Ubuntu 15.04 che utilizza systemdusesudo service lightdm start


Come si collega alla domanda?
Rancho,
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.