Question Empêcher la console d'effacer l'écran?


Lors du démarrage sous Linux, il arrive parfois qu'une ou deux lignes soient rapidement effacées. Je pense que certains d'entre eux n'apparaissent même pas dans dmesg. Si rien d'autre, je veux supprimer la suppression avant l'invite "login:". Existe-t-il une commande de noyau ou un sysctl que je peux configurer pour empêcher cela afin que je puisse les lire sur l'écran de la console après le démarrage?


9
2018-04-05 16:30


origine


Est-ce que /var/log/kern.log n'aide pas? Ou tu ne l'as pas? - HUB


Réponses:


La plupart des informations que vous souhaitez seront dans /var/log/dmesg et /var/log/messages après le démarrage du système, vous devez d’abord vérifier ces fichiers.

Généralement les machines Linux fonctionnent Mingetty pour les terminaux virtuels. Si vous avez un système sysv init traditionnel, ceux-ci sont contrôlés par /etc/inittab. Vous pouvez ajouter le --noclear option à mingetty pour éviter d'effacer l'écran. Pour ce faire, éditez /etc/inittab et changez cette ligne:

1:2345:respawn:/sbin/mingetty tty1

à

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

puis redémarrez la machine.

Certaines distributions Linux plus récentes utilisent des remplacements init comme Upstart (par exemple, Ubuntu). Celles-ci n'utilisent généralement pas / etc / inittab, mais plutôt d'autres fichiers de configuration. Voici un discussion sur la façon d'appeler mingetty sur Ubuntu.


13
2018-04-05 16:45



Eh bien, j'ai oublié de mentionner que je tiens vraiment à Ubuntu. Le lien ci-dessus pointe vers des informations obsolètes, et ma première tentative (éditer simplement /etc/init/tty1.conf n’a pas du tout abouti. - Paul Hoffman
Ils utilisent getty de util-linux, ne pas mingetty, mais cela fonctionne aussi avec Debian. Merci! - mirabilos


Avec systemd, les choses sont différentes. Voir article Arrêtez de nettoyer ma console damnée. En bref:

mkdir /etc/systemd/system/getty@.service.d
cat >/etc/systemd/system/getty@.service.d/noclear.conf <<EOF
[Service]
TTYVTDisallocate=no
EOF
systemctl daemon-reload

Vérifier le résultat avec systemctl cat getty@tty1.service


9
2017-09-01 14:18





Si rien d'autre ne vous aide, vous pouvez récupérer votre ordinateur portable et capturer tout le journal du noyau via la console série en ajoutant quelque chose comme ceci aux paramètres du noyau:

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

Cela entraînera une sortie sur la console série (dans votre programme de terminal) et sur un terminal standard. Parfois, SOL (Serial Over LAN) est disponible.


4
2018-04-05 16:55





Après des heures de recherches sur Google, j’ai trouvé la solution ce fil et cette question. Cette procédure fonctionne pour Ubuntu 12.04.1 LTS comme décrit aussi ici, mais il ne devrait pas trop différer pour les autres distributions.

Tout d'abord, ajoutez console=tty1 à ton GRUB_CMDLINE_LINUX (Je suggère également d'ajouter noplymouth inhiber plymouth et son écran de démarrage inutile).

#> sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX="console=tty1 noplymouth"

Cela force l’impression du journal du noyau sur tty1 au lieu de tty7 et éviter le tty basculer avant l'invite de connexion.

Ensuite, allez dans /etc/init et éditer un ou plusieurs des tty1.conf, tty2.conf, tty3.conf, tty4.conf, tty5.conf, tty6.conf ou console.conf. Je les ai tous édités en ajoutant --noclear option au getty commander. Par exemple, l'édition tty1.conf:

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

vous devrez remplacer:

respawn
exec /sbin/getty -8 38400 tty1

avec:

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

C'est tout, maintenant votre système devrait démarrer en un seul tty sans le nettoyer.


3
2017-10-03 12:34





dmesg Cela remonte au tout début du noyau, en commençant par

[    0.000000] Initializing cgroup subsys cpuset

Peut-être est-ce un message bios ou une partie de votre chargeur de démarrage? Quoi qu'il en soit, il y a tellement de choses différentes qui peuvent effacer l'écran, sans savoir exactement où dans le processus, il est difficile de dire quoi faire à ce sujet. Reste-t-il à l'écran "Login:"? ou y a-t-il autre chose de démarrage au-dessus? Si c'est juste avant l'invite de connexion et que rien d'autre ne s'affiche à l'écran, alors /etc/issue a une commande de suppression d'écran en elle? Sinon, vous pourriez utiliser une sorte de tampon de trame de la console qui permute le mode vidéo. Sur mon ordinateur, l'écran est vide lorsqu'une police de la console est chargée.


1
2018-04-05 16:42



TL; DR /etc/issue peut être un coupable, aussi. Bon indice. - Tino