web-dev-qa-db-fra.com

Comment faire défiler dans la fenêtre du terminal pendant que de nouvelles entrées sont générées sans être rejetée vers le bas (Linux)

Dans Ubuntu, je veux faire défiler vers le haut pendant qu'une commande est en cours d'exécution dans ma fenêtre de terminal et génère une nouvelle sortie (en réalité, la commande en cours d'exécution est rspec). Je peux faire défiler l'écran vers le haut, mais chaque fois que rspec génère une nouvelle ligne de sortie de console, il me renvoie vers le bas. Y a-t-il un moyen de tout faire défiler? J'utilise Terminator sur Linux Mint/Ubuntu 12.04 LTS

UPDATE

J'ai trouvé une solution de contournement possible La page d'accueil de Terminator indique qu'avec

stty ixon

vous pouvez activer "le contrôle de flux XON/XOFF pour la sortie du terminal. Pouvoir suspendre la sortie en tapant ^ S et le reprendre en tapant ^ Q [...]"

Ce n’est pas tout à fait ce que je voulais, sans avoir à suspendre la sortie (et peut-être à me demander en oubliant de le rallumer), j’ai pensé qu’il pourrait y avoir une simple touche de modification comme shft-alt avec molette de la souris .. de meilleures solutions?

35
Yo Ludke

Bien que je sois un peu en retard, je poste ceci ici pour que toute personne qui vient ici obtienne une solution. Pour moi, la solution au même problème était:

Préférences de Terminator -> onglet Profils -> onglet Défilement [sub] -> décochez l'option "Défilement à la sortie"

La bonne chose à propos de cette option est qu’elle défilera quand même au bas de la sortie, mais dès que vous la remonterez, elle s’arrêtera et ne vous dérangera pas, même si le contenu de la sortie est toujours en cours. généré.

J'espère que ça aide

52
Chikitulfo

tail -f log.txt | less se mettra à jour pour passer à la nouvelle information, et vous pourrez ensuite monter ou descendre. Vous pouvez également utiliser les fonctions de recherche less et ainsi de suite. Avec la méthode du canal, vous pouvez également analyser la sortie en mouvement.

Et la même idée, mais sans le tuyau: less +F log.txt.
(Cela suppose que vous puissiez travailler avec votre contenu de cette manière.)

L'ancienne méthode Unix consistait à appuyer sur Ctrl-S dans votre terminal pour arrêter et à Ctrl-Q pour redémarrer le défilement de la sortie - c'est essentiellement ce que le terminateur vous permet de faire avec stty ixon.
Avec l'ajout de barres de défilement, cela me semble plutôt convenable: appuyez sur Ctrl-S, faites défiler l'écran jusqu'à ce que vous préférez, puis Ctrl-Q pour le faire descendre. Oui, vous oubliez parfois de mettre la sortie en pause.

Parce que je suis exceptionnellement paresseux et que j'aime la flexibilité de la redirection de sortie, j'utiliserais tail -f avec le tube (en supposant que cela convienne). Ensuite, je peux l'arrêter, la flèche en haut et ajouter quelque chose comme un grep, et il fonctionne toujours: tail -f tac_plus.log | less | egrep 'peerip'

Ajoutez quelques cats et tee dedans et vous aurez une vraie fête.

1
belacqua