Come accedere automaticamente (senza inserire nome utente e password) (in modalità testo)


11

Ho installato Ubuntu 12.04 e ho modificato il file / etc / default / grub per l'avvio automatico in modalità testo. ma ogni volta che accendo il computer chiede nome utente e password (in modalità testo), volevo che accedesse automaticamente senza chiedere nome utente e password, quindi in modalità grafica sono andato su "Impostazioni di sistema-> Account utente" e ho controllato "Accesso automatico", ma non ha funzionato. quindi cosa devo fare per accedere automaticamente anche in modalità testo?


Prova questo link
Peachy il

Questa domanda aggiunge la condizione che un userid e una password non vengano immessi in modalità testo per accedere.
John S Gruber,

Risposte:


10

Per avviare in modalità testo

sudo vim / etc / default / grub

e cambia la seguente riga:

GRUB_CMDLINE_LINUX_DEFAULT="text"

esci ed entra:

 sudo update-grub

Accedi automaticamente in modalità testo senza specificare userid o password

Versioni iniziali di Ubuntu

Aggiungi -a <your-user-name>alla linea:

exec /sbin/getty -8 38400 tty1

nel file /etc/init/tty1.conf

così:

exec /sbin/getty -8 38400 tty6 -a gruber

/etc/init/tty1.conf è il processo di avvio che viene eseguito al momento opportuno per avviare la sessione terminale su tty1. L'aggiunta -adell'opzione dice a getty di chiamare il programma di accesso con l'opzione -f per accedere a quell'utente, ignorando il prompt utente da getty e il prompt password dall'accesso.

Upstart è il sistema Ubuntu che funziona come processo init del kernel (processo 1).

Ho provato questo sul mio tty6 e ha funzionato benissimo. A causa della linea di respawn upstart se si esce dalla shell si riavvierà automaticamente.

Versioni di Systemd di Ubuntu

Le versioni più recenti di Ubuntu utilizzano principalmente systemd per gestire i processi di sistema. Quindi ci sono nuovi modi di fare le cose.

Anche l'utilizzo di systemd tty è leggermente diverso con i terminali grafici eventualmente in esecuzione sui primi terminali virtuali. tty6 è riservato per essere un terminale virtuale di testo con systemd e probabilmente ce ne saranno anche altri.

Per far sì che tty6 si connetta mentre si entra:

sudo systemctl edit getty@tty6

Un nano editor apparirà in un file temporaneo. Immettere quanto segue in quell'editor:

 [Service]
 ExecStart=
 ExecStart=-/sbin/agetty -o '-p -f gruber' -a gruber --noclear %I $TERM

Esci dall'editor.

Inserire la riga ExecStart = non è un errore di battitura. è molto importante perché dice a systemd di dimenticare il parametro originale ExecStart che già conosce (da /lib/systemd/system/getty@.service) in modo da poter sostituire ExecStart.

Puoi controllare i risultati con il seguente comando:

 systemd-analyze verify getty@tty6.service

Vedo alcuni avvertimenti lì quando provo questo, ma non quello che stiamo facendo qui.

Se c'è già un processo tty su tty6 dovrai riavviarlo per vedere i risultati.


Per capirlo ho fatto riferimento alla risposta eccellente su /ubuntu//a/659268/63886 . Lì Muru usò lo stesso obiettivo di un esempio su come personalizzare systemd. La sua linea ExecStart è:

 ExecStart=-/sbin/agetty -a muru --noclear %I $TERM

La differenza sembra essere un altro paio di variabili ambientali relative al sistema visualizzate nella mia versione.

Il risultato finale della modifica sopra è la creazione di un file chiamato override.conf in /etc/systemd/system/getty@tty6.service.d/ contenente solo ciò che hai digitato sopra. Se si dovesse creare un file di questo tipo, è necessario eseguire il systemctl daemon-reloadcomando per fare in modo che systemd lo riconosca, e quindi eventualmente riavviare qualsiasi processo agetty esistente su quella console virtuale. systemctl --edit si occupa del ricaricamento dei demoni per te.


1
tty1ha funzionato bene per me.
razzak,

1
Non ci sono file / etc / init / tty * sul mio sistema
ka3ak

@ ka3ak Grazie per averlo sollevato. Più recenti Ubuntu utilizzano systemd e i file di configurazione di avvio sono diversi per contenuto e posizione. Ho aggiornato la risposta con una sezione di systemd. Se decidi di provarlo, leggi anche la risposta di Muru.
John S Gruber,

+1 per la soluzione basata su systemd
Paul Grinberg,

3

aprire il terminale e fare come

sudo kate /etc/default/grub

quindi trova questa linea e cambia come mostrato di seguito

GRUB_CMDLINE_LINUX_DEFAULT="text"

ora chiudi l'editor e fai come

sudo update-grub 

e riavvia ora


Mi piace questa risposta, ma potresti voler aggiungere una sezione da: a: per trovare questa riga e cambiare parte
RobotHumans,

Ho seguito le istruzioni ma si avvia ancora alla GUI. Potrebbe essere perché sto usando la scatola virtuale?
gestore di errori

1

sudo gedit etc/default/grub

e sostituisci

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

per

GRUB_CMDLINE_LINUX_DEFAULT="text"

Commenta anche GRUB_HIDDEN_TIMEOUT = 0 Questa riga serve per scoprire il menu GRUB (il commento deve mettere "#" nella riga)

sudo update-grub

e per iniziare la x basta digitare startx


1
No, l'ho già fatto prima, voglio solo che la modalità testo non richieda username e password
Navid777

0
sudo update-rc.d -f gdm remove

Se usi Kubuntu, sostituisci gdm con kdm nel comando sopra.

se esegue ancora l'avvio / arresto grafico, ma ti lascerà alla riga di comando dopo l'avvio. Probabilmente dovresti controllare la configurazione di grub. Per quello Clicca qui


Ci ho provato ma si avvia ancora nella GUI
gestore di errori

Quindi potresti voler provare la configurazione di GRUB.
Mitch
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.