web-dev-qa-db-fra.com

Comment puis-je afficher davantage de mon historique dans Screen sous Linux?

J'exécutais des scripts pendant la nuit à partir de la ligne de commande (à l'intérieur de Screen sur une instance de Linux EC2) et des erreurs que je ne suivais pas se produisaient. Je souhaite "faire défiler vers le haut" ou afficher davantage de l'historique dans Screen, mais je n'arrive pas à trouver les commandes qui fonctionnent.

J'ai besoin de voir la sortie à l'écran "plus haut" que sur mon écran actuel. CTRL + a est supposé me mettre en mode de défilement dans Screen, mais cela ne fonctionne pas.

50
T. Brian Jones

Lorsque vous démarrez l'écran, vous pouvez spécifier la taille du tampon de défilement avec -h, de sorte que vous puissiez l'augmenter à partir de la valeur par défaut de 100 lignes. Cependant, avec un écran en cours d'exécution, une fois que les données ont quitté la mémoire tampon, elles sont parties.

29
William Pursell

En supposant que vous n’ayez pas annulé votre séquence d’échappement, vous pouvez appuyer sur Ctrl-a [ pour passer en mode défilement, puis utiliser les fonctions habituelles Page-UP/Page-DOWN ou Ctrl-b/Ctrl-f pour monter et descendre.

Depuis le wiki Gentoo sur l'utilisation de l'écran

69
opyate

Vous pouvez également exécuter vos commandes dans la commande script qui enregistrera la sortie sur le disque. Ou vous pouvez: command 2>&1 | tee /tmp/cmd.out enregistrer la sortie pour une investigation future dans laquelle vous vouliez un historique de sortie de taille (pratiquement) infinie.

7
Seth Robertson

Vous pouvez également modifier la taille de l'historique de défilement dans un écran en cours avec la séquence CTRL-a: (entrer en mode de ligne de commande à l'écran), puis scrollback 10000 si vous souhaitez 10k lignes de tampon d'historique. Le changement s'applique immédiatement.

Faites attention à l'utilisation de la mémoire si vous utilisez de nombreux écrans avec des tampons très longs.

Cependant, comme @William Pursell l'a dit, avec un écran en cours d'exécution, une fois que les données ont quitté la mémoire tampon, elles sont parties.

4
Saïmonn

J'ai besoin de voir la sortie à l'écran "plus haut" que sur mon écran actuel. CTRL + a est supposé me mettre en mode de défilement dans Screen, mais cela ne fonctionne pas.

En complément des autres réponses, je ferais remarquer que vous pouvez ajouter dans votre fichier ~/.screenrc:

defscrollback 100000
termcapinfo xterm ti@:te@

où:

  • defscrollback 100000: définir le nombre par défaut de lignes de défilement sur 100000
  • termcapinfo xterm ti@:te@: autorise le défilement des terminaux dans xterm ou PuTTY. ( écran FAQ ; PuTTY FAQ )
4
Franck Dernoncourt

Selon le programme de terminal que vous utilisez, vous pouvez généralement modifier le tampon de défilement sous Paramètres. Je sais que pour xterm, vous devez d'abord activer le défilement, vous pouvez ensuite régler le tampon sur infini.

Cependant, votre meilleur pari pour les scripts de journalisation serait de rediriger la sortie standard vers un fichier:

ScriptName >> OutputFile.txt

En procédant ainsi, vous pouvez faire défiler et rechercher librement ainsi que conserver un enregistrement (c’est-à-dire au cas où votre ordinateur tomberait en panne).

EDIT: Ceci est proche de la solution de tuyauterie ci-dessus, mais la redirection de l'entrée standard peut également être utile dans d'autres cas:

grep linux stackoverflow.txt > linuxquestions.txt

ou

cat linuxquestions.txt | grep buffersize > bufferquestions.txt
0
ginman