Na serwerze Ubuntu, jak mogę uniknąć wyczyszczenia ekranu tuż przed wyświetleniem ekranu logowania?
Próbuję odczytać komunikat o błędzie w jednej z usług i dostaję ten irytujący czysty ekran i nie mogę przewijać w górę za pomocą shift-pageUp.
Na serwerze Ubuntu, jak mogę uniknąć wyczyszczenia ekranu tuż przed wyświetleniem ekranu logowania?
Próbuję odczytać komunikat o błędzie w jednej z usług i dostaję ten irytujący czysty ekran i nie mogę przewijać w górę za pomocą shift-pageUp.
Odpowiedzi:
dla systemd ustawiono TTYVTDisallocatena no.
Aby to osiągnąć, uruchom systemctl edit getty@tty1 i wprowadź poniższy kod
[Service]
TTYVTDisallocate=no
systemctl editnarzekałem Unknown operation 'edit'.. Dzięki za ten link.
Wyświetlanie ostatniego ekranu komunikatów wyświetlanych podczas uruchamiania
Podczas uruchamiania serwera Ubuntu wyświetlane wiadomości są zwykle zapisywane w tty7 (siódma wirtualna konsola). Po zakończeniu uruchamiania zostaniesz przełączony na tty1, gdzie pojawi się monit o zalogowanie. Dlatego komunikaty rozruchowe nie są w rzeczywistości usuwane; po prostu przełączasz się na inną konsolę niż ta, która je zawiera.
Aby wyświetlić je ponownie, możesz przełączyć się na tty7, naciskając Alt + F7. Możesz wrócić do tty1 za pomocą Alt + F1 (i do drugiego za pomocą Alt + F2 i tak dalej). Nie dotyczy to (i nie powinno ) większości systemów Ubuntu Server, ale gdy GUI jest uruchomiony, należy użyć Ctrl + Alt + F1, aby przełączyć się na tty1 (i Ctrl + Alt + F2 dla tty2 i tak dalej).
Zapobiega wyczyszczeniu ekranu po wylogowaniu użytkownika, dzięki czemu tekst z jego sesji jest widoczny w kolejnej sesji
W twoim katalogu domowym znajduje się plik o nazwie .bash_logout, który zawiera coś takiego:
if [ "$SHLVL" = 1 ]; then
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi
To właśnie powoduje wyczyszczenie ekranu podczas wylogowywania. Aby temu zapobiec, skomentuj wszystkie te wiersze, aby wyglądało to tak:
#if [ "$SHLVL" = 1 ]; then
# [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
#fi
Po wielu godzinach googlingu znalazłem rozwiązanie w tym wątku i tym pytaniu .
Najpierw dodaj console=tty1do swojego GRUB_CMDLINE_LINUX(proponuję również dodać noplymouthdo inhibit plymouthi jego bezużyteczny ekran powitalny).
#> sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX="console=tty1 noplymouth"
Wymusza to wydrukowanie dziennika jądra tty1zamiast tty7unikania ttyprzełączania przed monitem o zalogowanie.
Następnie wystarczy wejść /etc/initi edytować jeden lub więcej tty1.conf, tty2.conf, tty3.conf, tty4.conf, tty5.conf, tty6.conflub console.conf. Zredagowałem je wszystkie, dodając --noclearopcję do gettypolecenia. Na przykład edycja tty1.conf:
#> sudo vi /etc/init/tty1.conf
będziesz musiał wymienić:
respawn
exec /sbin/getty -8 38400 tty1
z:
respawn
exec /sbin/getty -8 38400 --noclear tty1
To wszystko, uruchom, sudo update-gruba teraz twój system powinien uruchomić się w jednym, ttybez czyszczenia.
update-grubpo edycji/etc/default/grub
sudo update-grubkonieczne jest zregenerowanie grub.cfg, dzięki za korektę.
/var/log/. Zaczynam patrzeć naboot.logisyslog.