Effacer le tampon à dos de défilement des bornes de console virtuelle Linux
Question
Je voudrais effacer le tampon de défilement sur Linux Console VTS par programme. c'est-à-dire non seulement effacer l'écran visible actuel, mais aussi l'ensemble du tampon de rebond. C'est-à-dire que tout ce qui après un écran clair serait toujours visible avec alt-pGup devrait également disparaître. Quelqu'un a une idée de la façon de réaliser celle-ci dans un bon code?
La solution
Je ne pense pas que ce soit encore dans la ligne principale, mais linux-nex a un patch pour prendre en charge une nouvelle séquence d'échappement de la console qui efface l'écran et Le tampon de défilement: CSI 3 J
Pour quelque chose qui fonctionne sans avoir à mettre à niveau votre noyau, vous pouvez utiliser:
chvt 42; chvt <current tty no>; echo -en "\e[1;1H\e[2J"
Alternativement:
echo -e "\e[12;42]"; sleep .01; echo -en "\e[12;<current tty no>]\e[1;1H\e[2J"
Vous pouvez obtenir le numéro TTY actuel avec:
$( ls -l /proc/self/fd | sed -ne 's/.*tty//p' )
Autres conseils
Gardez à l'esprit que d'autres outils (sur SSH par exemple) auront des implémentations différentes du "Brollback Buffer". Je doute fortement que vous puissiez nettoyer le tampon de mastic par code dans votre machine. Regarde aussi https://superuser.com/questions/122911/bash-reset-and-clear-commands
Cela efface l'écran, mais pas le recul.
echo -e '\0033\0143'
#Depends sur l'émulateur de terminal que vous utilisez, testé sur GNOME Terminal
de https://superuser.com/questions/122911/bash-reset-and-clear-commands