web-dev-qa-db-fra.com

Où est la sortie d'un terminal (terminal Gnome) stockée

Tout d'abord, il ne s'agit pas de history, qui stocke toutes les commandes entrées.

J'ai sur mon poste de travail au travail plusieurs terminaux ouverts à partir desquels je lance des simulations, examine la sortie et où des messages d'erreur sont parfois affichés.

Dans Gnome Terminal il y a un paramètre contrôlant la longueur du défilement, dans mon cas, le paramètre est défini pour être juste en dessous de 10 000 lignes.

Maintenant ma question: Comment puis-je rechercher le défilement?

Dans mon cas, je veux vérifier si un message d'erreur récent s'est déjà produit. Oui, je peux revenir en arrière et utiliser mes yeux pour rechercher le message d'erreur en question. Mais pour plusieurs terminaux pouvant potentiellement comporter jusqu'à 10000 lignes, cela représente un temps considérable de défilement.

Je suppose que les informations contenues dans le défilement arrière doivent être stockées quelque part, et si elles sont stockées quelque part, elles pourraient en fait être consultables.

[Edit: corrigé la question pour être sur Gnome Terminal.]

5
Dohn Joe

Si la sortie produite par vos scripts est très importante pour vous (pour rechercher une erreur, un avertissement, des actions exécutées, etc.), vous ne devez pas vous fier à l'affichage de la console que vous utilisez.

Vous devez rediriger la sortie de vos scripts vers certains fichiers, cela présente des avantages:

  • vous n'êtes plus lié au nombre de lignes dans la mémoire tampon de défilement de la console que vous utilisez
  • vous pouvez archiver le résultat aussi longtemps que vous voulez pouvoir récupérer ce qui a été fait, même quelques jours/semaines/mois après l'exécution effective du script
  • les erreurs peuvent être consignées dans un fichier dédié, différent des messages d'information, ce qui facilite la recherche d'erreurs. (Si les commandes utilisées dans vos scripts envoient une erreur à STDERR et des informations à STDOUT).
  • vous pouvez même vous connecter à un fichier tout en affichant une sortie sur le terminal si vous utilisez la commande tee.

Donc, vous pouvez faire ceci:

./script.sh | tee -a output

copier toute la sortie de script.sh dans un fichier appelé sortie, en ajoutant le texte à la fin du fichier et en affichant le texte sur le terminal.

3
Benoit

La mémoire tampon de défilement est une fonction de votre terminal ou de votre console.

Si vous utilisez la console framebuffer, il est possible d’utiliser le paramètre fbcon=scrollback: au démarrage pour augmenter la taille du défilement.

Pour le xfce4-terminal, allez dans "Edition-> Paramètres-> Général-> Défilement" et modifiez le tampon de défilement à votre guise.

pour kde's konsole, allez dans "Paramètres-> Configurer le profil actuel ...-> Défilement-> Nombre de lignes fixe"

le classique xterm peut être configuré avec un indicateur de démarrage -sl 777 (pour 777 lignes de mémoire tampon de défilement) ou via la configuration saveLines.

Pour écran GN, lancez-le avec screen -h.

Je voudrais aller avec l'écran, dans lequel vous pouvez rechercher le tampon de défilement:

/ Vi-like search forward
? Vi-like search backward
C-a s Emacs style incremental search forward
C-r Emacs style reverse i-search

En mode défilement arrière (ou en mode copie, c'est la même chose), vous pouvez également copier et coller du texte.

1
Jan