На сервере человечности, как я могу избежать экрана, очищаемого непосредственно перед тем, как появляется экран входа в систему?
Я пытаюсь прочитать сообщение об ошибке на одном из сервисов, и я получаю этот раздражающий ясный экран, и я не могу прокрутить с shift-pageUp.
Просмотр последнего экрана сообщений, появившихся во время загрузки
Когда Ubuntu Server загружается, сообщения, которые вы видите, обычно записываются в tty7 (седьмая виртуальная консоль). Когда загрузка завершается, вы переключаетесь на tty1, где вам предлагается войти в систему. Таким образом, сообщения о загрузке на самом деле не очищаются; вы просто переключаетесь на другую консоль, чем та, которая их содержит.
Чтобы просмотреть их снова, вы можете переключиться на tty7, нажав Alt+F7. Вы можете переключиться обратно на tty1 с Alt+F1 (и на вторую с Alt+F2, и так далее). Это не применяется (и не должно применяться ) на большинстве серверных систем Ubuntu, но когда запущен GUI, для переключения на tty1 необходимо использовать Ctrl+Alt+F1 (и Ctrl+Alt+F2 для tty2, и так далее).
Предотвращение очистки экрана после выхода пользователя из системы, поэтому текст из его сессии виден в следующем сеансе
В вашем домашнем каталоге есть файл с именем .bash_logout, который содержит что-то вроде:
if [ "$SHLVL" = 1 ]; then
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi
Это то, что приводит к очистке экрана при выходе из системы. Чтобы этого не произошло, прокомментируйте все эти строки, чтобы выглядело так:
#if [ "$SHLVL" = 1 ]; then
# [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
#fi
После нескольких часов поиска в Google я нашел решение в этой ветке и ] этот вопрос .
Сначала добавьте console = tty1
в свой GRUB_CMDLINE_LINUX
(я также предлагаю добавить noplymouth
, чтобы запретить plymouth
и его бесполезный экран-заставка).
#> sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX="console=tty1 noplymouth"
Это заставляет журнал ядра печататься на tty1
вместо tty7
и избегать использования переключателя tty
перед приглашение входа в систему.
Затем просто зайдите в / etc / init
и отредактируйте один или несколько из tty1.conf
, tty2.conf
, tty3 .conf
, tty4.conf
, tty5.conf
, tty6.conf
или console.conf
. Я отредактировал их все, добавив параметр - noclear
к команде getty
. Например, редактируя tty1.conf
:
#> sudo vi /etc/init/tty1.conf
, вам нужно будет заменить:
respawn
exec /sbin/getty -8 38400 tty1
на:
respawn
exec /sbin/getty -8 38400 --noclear tty1
Вот и все, запустите sudo update-grub
и теперь ваша система должен загружаться с одного терминала
без его очистки.
для systemd установите TTYVTDisallocate
на номер
, чтобы добиться этого, запустите systemctl edit getty @ tty1
и введите код ниже
[Service]
TTYVTDisallocate=no