¿Evitar que la consola limpie la pantalla?

11

Al arrancar en Linux, a veces hay una o dos líneas que se borran rápidamente. Creo que algunos de ellos ni siquiera aparecen en dmesg. Por lo menos, quiero suprimir el borrado antes del mensaje "login:". ¿Hay un comando de kernel o sysctl que pueda configurar para evitar esto para que pueda leerlos en la pantalla de la consola después del arranque?

Paul Hoffman
fuente
¿No ayuda /var/log/kern.log? ¿O no lo tienes?
HUB

Respuestas:

13

La mayor parte de la información que desee estará en /var/log/dmesgy /var/log/messagesdespués de que se inicie el sistema, primero debe verificar esos archivos.

En general, las máquinas Linux ejecutan mingetty para las terminales virtuales. Si tiene un sistema de inicio sysv tradicional, estos están controlados por /etc/inittab. Puede agregar la --noclearopción a mingetty para evitar borrar la pantalla. Para hacer esto, edite /etc/inittaby cambie esta línea:

1:2345:respawn:/sbin/mingetty tty1

a

1:2345:respawn:/sbin/mingetty --noclear tty1

luego reinicie la máquina.

Algunas distribuciones de Linux más nuevas usan reemplazos de inicio como Upstart (por ejemplo, Ubuntu). Estos generalmente no usan / etc / inittab y en su lugar usan algunos otros archivos de configuración. Aquí hay una discusión sobre cómo funciona llamar a mingetty en Ubuntu .

Phil Hollenback
fuente
Bueno, olvidé mencionar que realmente me importa Ubuntu. El enlace de arriba apunta a información desactualizada, y mi primer intento (simplemente editar /etc/init/tty1.conf no fue del todo exitoso.)
Paul Hoffman
Utilizan gettydesde util-linux, no mingetty, pero esto también funciona con Debian. ¡Gracias!
mirabilos
4

Si nada más ayudó, puede tomar su computadora portátil y capturar todo el registro del kernel a través de la consola serie agregando algo como esto a los parámetros del kernel:

console=tty0 console=ttyS0,9600n8 console=tty0

Esto hará que la salida aparezca en la consola serie (en su programa de terminal) y en tty estándar. Algunas veces SOL (Serial Over LAN) está disponible.

CUBO
fuente
3

Después de horas de buscar en Google, encontré la solución en este hilo y esta pregunta . Este procedimiento funciona Ubuntu 12.04.1 LTScomo también se describe aquí , pero no debería diferir demasiado para otras distribuciones.

Primero, agregue console=tty1a su GRUB_CMDLINE_LINUX(también sugiero agregar noplymoutha inhibir plymouthy su pantalla de bienvenida inútil).

#> sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX="console=tty1 noplymouth"

Esto obliga a imprimir el registro del kernel en tty1lugar de tty7evitar el ttycambio antes de la solicitud de inicio de sesión.

Entonces sólo tiene que ir en /etc/inity editar uno o más de tty1.conf, tty2.conf, tty3.conf, tty4.conf, tty5.conf, tty6.confo console.conf. Los edité todos añadiendo --noclearopción al gettycomando. Por ejemplo, edición tty1.conf:

#> sudo vi /etc/init/tty1.conf

tendrás que reemplazar:

respawn
exec /sbin/getty -8 38400 tty1

con:

respawn
exec /sbin/getty -8 38400 --noclear tty1

Eso es todo, ahora su sistema debería arrancar en un solo ttysin borrarlo.

Avio
fuente
1

dmesg aquí se remonta al comienzo del núcleo, comenzando con

[    0.000000] Initializing cgroup subsys cpuset

¿Quizás este es un mensaje de BIOS o parte de su gestor de arranque? De cualquier manera, hay tantas cosas diferentes que pueden dejar en blanco la pantalla, sin saber exactamente en qué proceso sucedió, es difícil decir qué hacer al respecto. ¿Lo único que queda en la pantalla es "Iniciar sesión:"? o hay alguna otra cosa de arranque por encima? Si es inmediatamente antes de la solicitud de inicio de sesión y no hay nada más en la pantalla, ¿tal vez /etc/issuetiene un comando de pantalla en blanco? De lo contrario, podría estar utilizando algún tipo de búfer de cuadro de consola que está cambiando el modo de video. En mi computadora, la pantalla queda en blanco cuando se carga una fuente de consola.

DerfK
fuente
TL; DR también /etc/issuepuede ser un culpable. Buena pista
Tino