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/getty@.service), abyś mógł zastąpić ExecStart.
Możesz sprawdzić wyniki za pomocą następującego polecenia:
systemd-analyze verify getty@tty6.service
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/getty@tty6.service.d/ 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.