Jak się autologować (bez wpisywania nazwy użytkownika i hasła) (w trybie tekstowym)

11

Zainstalowałem Ubuntu 12.04 i edytowałem plik / etc / default / grub, aby automatycznie uruchamiał się w trybie tekstowym. ale za każdym razem, gdy włączam komputer, pyta o nazwę użytkownika i hasło (w trybie tekstowym), chciałem, aby automatycznie się logował bez pytania o nazwę użytkownika i hasło, więc w trybie graficznym przechodziłem do „Ustawienia systemu-> Konta użytkowników” i sprawdzałem „Automatyczne logowanie”, ale nie działało. więc co powinienem zrobić, aby automatycznie zalogować się nawet w trybie tekstowym?

Navid777
źródło
Wypróbuj ten link
Peachy,
To pytanie dodaje warunek, że identyfikator użytkownika i hasło nie muszą być wprowadzane w trybie tekstowym w celu zalogowania się.
John S Gruber,

Odpowiedzi:

10

Aby uruchomić w trybie tekstowym

sudo vim / etc / default / grub

i zmień następujący wiersz:

GRUB_CMDLINE_LINUX_DEFAULT="text"

wyjdź i wprowadź:

 sudo update-grub

Automatycznie loguj się w trybie tekstowym bez podawania identyfikatora użytkownika ani hasła

Uaktualnij wersje Ubuntu

Dodaj -a <your-user-name>do linii:

exec /sbin/getty -8 38400 tty1

w pliku /etc/init/tty1.conf

tak:

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

/etc/init/tty1.conf to zadanie upstart, które uruchamia się w odpowiednim czasie, aby rozpocząć sesję terminalową na tty1. Dodanie tej -aopcji powoduje, że getty ma wywołać program logowania z opcją -f, aby zalogować się do tego użytkownika, z pominięciem monitu użytkownika getty i monitu o hasło logowania.

Upstart to system Ubuntu, który działa jako proces inicjacji jądra (proces 1).

Przetestowałem to na moim tty6 i działało świetnie. Z powodu linii odradzania na początku, jeśli wyjdziesz z powłoki, zacznie się ona automatycznie od nowa.

Wersje systemowe Ubuntu

Nowsze wersje Ubuntu używają głównie systemd do zarządzania procesami systemowymi. Dlatego istnieją nowe sposoby robienia rzeczy.

systemowe użycie tty jest również nieco inne - terminale graficzne mogą działać na kilku pierwszych terminalach wirtualnych. tty6 jest zarezerwowany jako tekstowy wirtualny terminal z systemd i prawdopodobnie będą też inne.

Aby tty6 pojawił się po zalogowaniu:

sudo systemctl edit getty@tty6

Nano edytor pojawi się w pliku tymczasowym. Wpisz w tym edytorze:

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

Wyjdź z edytora.

Wprowadzenie dodatkowej linii ExecStart = nie jest literówką. jest to bardzo ważne, ponieważ każe systemdowi zapomnieć o oryginalnym parametrze ExecStart, o którym już wie (z /lib/systemd/system/[email protected]), abyś mógł zastąpić ExecStart.

Możesz sprawdzić wyniki za pomocą następującego polecenia:

 systemd-analyze verify [email protected]

Gdy próbuję, widzę tam pewne ostrzeżenia, ale nie o tym, co tutaj robimy.

Jeśli na tty6 jest już uruchomiony proces tty6, musisz go ponownie uruchomić, aby zobaczyć wyniki.


Aby to zrozumieć, odniosłem się do doskonałej odpowiedzi na /ubuntu//a/659268/63886 . Tam Muru użył tego samego celu jako przykładu, jak dostosować systemd. Jego linia ExecStart to:

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

Różnica wydaje się polegać na tym, że w mojej wersji pojawia się kilka innych zmiennych systemowych związanych z systemem.

Końcowym rezultatem powyższej edycji jest utworzenie pliku o nazwie override.conf w /etc/systemd/system/[email protected]/ zawierającego tylko to, co wpisałeś powyżej. Jeśli sam utworzysz taki plik, musisz uruchomić systemctl daemon-reloadkomendę, aby systemd rozpoznał go, a następnie ponownie może zrestartować istniejący proces agetty na tej wirtualnej konsoli. systemctl --edit zajmuje się przeładowaniem demona.

John S Gruber
źródło
1
tty1działało dobrze dla mnie.
razzak
1
W moim systemie nie ma plików / etc / init / tty *
ka3ak
@ ka3ak Dzięki za poruszenie tego tematu. Nowsze zastosowania systemu Ubuntu i pliki konfiguracji uruchamiania różnią się zawartością i lokalizacją. Zaktualizowałem odpowiedź sekcją systemd. Jeśli zdecydujesz się spróbować, przeczytaj również odpowiedź Muru.
John S Gruber,
+1 za systemowe rozwiązanie
Paul Grinberg
3

otwórz terminal i zrób jak

sudo kate /etc/default/grub

następnie znajdź tę linię i zmień, jak pokazano poniżej

GRUB_CMDLINE_LINUX_DEFAULT="text"

teraz zamknij edytor i zrób jak

sudo update-grub 

i zrestartuj teraz

rɑːdʒɑ
źródło
Podoba mi się ta odpowiedź, ale możesz dodać sekcję od: do: znajdź tę linię i zmień część
RobotHumans
Postępowałem zgodnie z instrukcjami, ale nadal uruchamia się do GUI. Czy to możliwe, ponieważ używam wirtualnego boxa?
moduł obsługi błędów
1

sudo gedit etc/default/grub

i zamień

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

do

GRUB_CMDLINE_LINUX_DEFAULT="text"

Komentarz także GRUB_HIDDEN_TIMEOUT = 0 Ten wiersz służy do odkrywania menu GRUBA (komentarz ma wstawić „#” w wierszu)

sudo update-grub

i aby rozpocząć po prostu x startx

Angelosclearchus
źródło
1
Nie, robiłem to wcześniej, chcę tylko, aby tryb tekstowy nie pytał o nazwę użytkownika i hasło
Navid777,
0
sudo update-rc.d -f gdm remove

Jeśli używasz Kubuntu, zamień gdm na kdm w powyższym poleceniu.

jeśli nadal wykonuje graficzne uruchamianie / zamykanie, ale po uruchomieniu uruchomi cię w wierszu poleceń. Prawdopodobnie powinieneś sprawdzić konfigurację grub. W tym celu kliknij tutaj

Mitch
źródło
Próbowałem tego, ale nadal uruchamia się w GUI
moduł obsługi błędów
Następnie możesz wypróbować konfigurację GRUB.
Mitch