J'utilise screen pour mes tâches de ligne de commande lors de la gestion des serveurs sur lesquels je travaille. J'exécute généralement de petites commandes (principalement des tâches de système de fichiers), mais parfois, j'exécute des tâches plus étendues (telles que DBA).
Le résultat de ces tâches est important pour moi. Puisque j'utilise Ubuntu et OS X (les deux Terminal Windows) pour mes tâches, mais que je dois utiliser écran, le défilement n'est pas disponible. Par conséquent, toute sortie longue (pensez à un tableau de 500 lignes d'une sélection) est invisible pour moi. La molette de la souris est hors de question.
Quand je dis "Le défilement est invisible pour moi, je veux dire ceci:
Je pensais à deux options:
Pause (pensez paginer ) la sortie d'une certaine commande. Lorsque la sortie commence, cela me permet de lire ce qui se passe, puis j'appuie sur "Entrée", puis la sortie continue jusqu'à ce qu'il n'y ait plus rien à afficher.
Faites défiler à l'intérieur de l'écran. Mais je ne sais pas si c'est possible.
Bien sûr, je ne sais pas si ces options sont réellement possibles . Si oui, comment peut-on les atteindre? D'autres alternatives seront bien reçues.
Utiliser le
screen
tampon indiqué par njsg est une bonne solution. Vous pouvez également désactiver le tampon de texte alternatif dans l'écran intérieur de xterm termcap. Lorsque cette option est désactivée, vous pouvez utiliser les barres de défilement (et la molette de la souris) pour faire défiler de haut en bas.Ajoutez ceci à votre
~/.screenrc
.Vous pouvez lire plus de discussion ici .
la source
screen
vous avez reçu depuis que vous l'avez démarré - c.-à-d. que vous rattachez-le ailleurs signifie que vous ne pouvez pas faire défiler vers le haut et voir ce qui s'est passé auparavant. mais vous pouvez toujours récupérer une sortie antérieure en utilisant la solution de la réponse acceptée - vous pourrez alors utiliser à nouveau la molette de la souris.Toutes ces réponses ont expliqué comment naviguer dans une session d'écran, mais il existe une fonctionnalité intégrée dans la commande screen permettant de tout stocker dans un fichier grâce à l'
-L
argument, conformément au manuel qui se lit comme suit:alors tu peux faire:
et il créera un fichier avec le
screenlog.#
où le#
est un numéro pour cet écran à partir de 0.Cela présente de nombreux avantages et les plus importants pour moi sont:
tailf
de suivre les progrès en temps réel sans être attaché à l’écran.grep
pour vérifier certains termes dans le journal et produire des notifications (email, popup, voip, etc.). Ceci peut être appliqué sur plusieurs écrans sans que vous les regardiez activement.la source
-L
drapeau d'écran, c'est très utile! +1screenlog.#
est généré dans le même dossier que celui dans lequel vous exécutez lascreen
commandeJ'ai eu du succès avec la pagination de base en canalisant le contenu
more
, par exemple:Ou, si vous souhaitez une sortie couleur pour des cas d'utilisation tels que la coloration syntaxique, vous pouvez utiliser
Il en résulte une sortie que je peux facilement parcourir d’un écran à l’autre. Je n'ai pas essayé la modification de @ uther
~/.screenrc
mais cela semble préférable comme solution durable lorsqu'une souris est disponible.Pour essayer ceci, vous pouvez aller sur cet émulateur BusyBox puis ...
Utilisez la barre d'espace pour parcourir les résultats de la
ls -l
commande ou utilisez la touche Entrée pour parcourir les résultats ligne par ligne.la source