Autologin (ohne Eingabe von Benutzername und Passwort) (im Textmodus)

11

Ich habe Ubuntu 12.04 & installiert und die Datei / etc / default / grub bearbeitet, um automatisch in den Textmodus zu booten. Aber jedes Mal, wenn ich den Computer einschalte, der nach Benutzername und Passwort fragt (im Textmodus), wollte ich, dass er sich automatisch anmeldet, ohne nach Benutzername und Passwort zu fragen. Im grafischen Modus ging ich zu "Systemeinstellung-> Benutzerkonten" und überprüfte das "Automatische Login", aber es hat nicht funktioniert. Was kann ich also tun, um mich auch im Textmodus automatisch anzumelden?

Navid777
quelle
Versuchen Sie diesen Link
Peachy
Diese Frage fügt die Bedingung hinzu, dass eine Benutzer-ID und ein Kennwort nicht im Textmodus eingegeben werden müssen, um sich anzumelden.
John S Gruber

Antworten:

10

So starten Sie in den Textmodus

sudo vim / etc / default / grub

und ändern Sie die folgende Zeile:

GRUB_CMDLINE_LINUX_DEFAULT="text"

verlassen und betreten:

 sudo update-grub

Melden Sie sich automatisch im Textmodus an, ohne die Benutzer-ID oder das Kennwort anzugeben

Upstart-Versionen von Ubuntu

-a <your-user-name>Zur Zeile hinzufügen :

exec /sbin/getty -8 38400 tty1

in der Datei /etc/init/tty1.conf

wie so:

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

/etc/init/tty1.conf ist der Startjob, der zum richtigen Zeitpunkt ausgeführt wird, um die Terminalsitzung auf tty1 zu starten. Durch Hinzufügen der -aOption wird getty angewiesen, das Anmeldeprogramm mit der Option -f aufzurufen, um diesen Benutzer anzumelden, wobei die Benutzeraufforderung von getty und die Kennwortabfrage von login umgangen werden.

Upstart ist das Ubuntu-System, das als Kernel-Init-Prozess (Prozess 1) fungiert.

Ich habe dies auf meinem tty6 getestet und es hat super funktioniert. Aufgrund der Upstart-Respawn-Zeile wird die Shell beim Verlassen der Shell automatisch wieder gestartet.

Systemd-Versionen von Ubuntu

Neuere Versionen von Ubuntu verwenden hauptsächlich systemd, um Systemprozesse zu verwalten. Daher gibt es neue Wege, Dinge zu tun.

Die Systemnutzung ist auch etwas anders, da Grafikterminals möglicherweise auf den ersten virtuellen Terminals ausgeführt werden. tty6 ist als virtuelles Textterminal mit systemd reserviert, und es wird wahrscheinlich auch andere geben.

Damit tty6 bei der Eingabe angemeldet wird:

sudo systemctl edit getty@tty6

Ein Nano-Editor wird in einer temporären Datei angezeigt. Geben Sie Folgendes in diesen Editor ein:

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

Beenden Sie den Editor.

Das Einfügen der zusätzlichen Zeile ExecStart = ist kein Tippfehler. Dies ist sehr wichtig, da systemd angewiesen wird, den bereits bekannten ursprünglichen ExecStart-Parameter (von /lib/systemd/system/[email protected]) zu vergessen, damit Sie ExecStart ersetzen können.

Sie können die Ergebnisse mit dem folgenden Befehl überprüfen:

 systemd-analyze verify [email protected]

Ich sehe dort einige Warnungen, wenn ich das versuche, aber nicht darüber, was wir hier tun.

Wenn auf tty6 bereits ein tty-Prozess ausgeführt wird, müssen Sie ihn neu starten, um die Ergebnisse anzuzeigen.


Um dies herauszufinden, habe ich auf die ausgezeichnete Antwort unter /ubuntu//a/659268/63886 verwiesen . Dort verwendete Muru zufällig das gleiche Ziel als Beispiel für die Anpassung von systemd. Seine ExecStart-Linie lautet:

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

Der Unterschied scheint darin zu liegen, dass in meiner Version einige weitere systembezogene Umgebungsvariablen angezeigt werden.

Das Endergebnis der obigen Bearbeitung ist die Erstellung einer Datei mit dem Namen override.conf in /etc/systemd/system/[email protected]/, die genau das enthält, was Sie oben eingegeben haben. Wenn Sie eine solche Datei selbst erstellen würden, müssten Sie den systemctl daemon-reloadBefehl ausführen , damit systemd sie erkennt, und dann möglicherweise einen vorhandenen agetty-Prozess auf dieser virtuellen Konsole neu starten. systemctl --edit kümmert sich für Sie um das Daemon-Reload.

John S. Gruber
quelle
1
tty1hat gut für mich funktioniert.
Razzak
1
Es gibt keine / etc / init / tty * -Dateien auf meinem System
ka3ak
@ ka3ak Danke, dass du das angesprochen hast. Neuere Ubuntus verwenden systemd und die Startkonfigurationsdateien unterscheiden sich in Inhalt und Speicherort. Ich habe die Antwort mit einem systemd-Abschnitt aktualisiert. Wenn Sie es versuchen möchten, lesen Sie bitte auch Murus Antwort.
John S Gruber
+1 für systembasierte Lösung
Paul Grinberg
3

Terminal öffnen und tun wie

sudo kate /etc/default/grub

Suchen Sie dann diese Zeile und ändern Sie sie wie unten gezeigt

GRUB_CMDLINE_LINUX_DEFAULT="text"

Schließen Sie nun den Editor und gehen Sie wie folgt vor

sudo update-grub 

und jetzt neu starten

rɑːdʒɑ
quelle
Ich mag diese Antwort, aber Sie können einen von: bis: Abschnitt für das Finden dieser Zeile hinzufügen und Teil ändern
RobotHumans
Ich habe die Anweisungen befolgt, aber es wird immer noch über die GUI gestartet. Könnte es sein, dass ich eine virtuelle Box verwende?
Fehlerbehandler
1

sudo gedit etc/default/grub

und ersetzen

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

zu

GRUB_CMDLINE_LINUX_DEFAULT="text"

Auch Kommentar GRUB_HIDDEN_TIMEOUT = 0 Diese Zeile dient zum Einblenden des GRUB-Menüs (Kommentar soll "#" in die Zeile setzen)

sudo update-grub

und um das x zu starten, geben Sie einfach ein startx

angelosclearchus
quelle
1
Nein, ich habe das schon einmal gemacht, ich möchte nur, dass der Textmodus nicht nach Benutzername und Passwort
fragt
0
sudo update-rc.d -f gdm remove

Wenn Sie Kubuntu verwenden, ersetzen Sie gdm im obigen Befehl durch kdm.

Wenn das grafische Booten / Herunterfahren weiterhin ausgeführt wird, werden Sie nach dem Booten an der Befehlszeile abgelegt. Sie sollten wahrscheinlich die Grub-Konfiguration überprüfen. Für das hier klicken

Mitch
quelle
Ich habe das versucht, aber es bootet immer noch in die GUI
Fehlerbehandlungsroutine
Dann möchten Sie vielleicht die GRUB-Konfiguration ausprobieren.
Mitch