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?

Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top