Disons que j'ai une session d' écran en cours d'exécution avec laquelle j'interagis via le mastic. J'ai réalisé que le tampon de défilement est trop petit et je voudrais l'augmenter sans démarrer une nouvelle session d'écran.
Y a-t-il un moyen de faire cela?
linux
gnu-screen
Zach
la source
la source
screen -h <numlines>
Réponses:
La page de manuel explique que vous pouvez entrer en mode ligne de commande dans une session en cours d' exécution en tapant Ctrl+ A, :, émission alors la
scrollback <num>
commande.la source
<num>
est le nombre de lignes de défilementscrollback <num>
, cela ne vous aide plus à étendre le tampon, vous avez besoin de refaire la dernière commande pour obtenir tout le tampon d'historique.Appuyez sur Ctrl-apuis sur :puis tapez
pour obtenir un tampon de 10000 lignes, par exemple.
Vous pouvez également définir le nombre par défaut de lignes de défilement en ajoutant
à votre
~/.screenrc
dossier.Pour faire défiler (si votre terminal ne vous le permet pas par défaut), appuyez sur Ctrl-a ESCpuis faites défiler (avec l'habituel Ctrl-fpour la page suivante ou Ctrl-apour la page précédente, ou tout simplement avec la molette de votre souris / deux doigts). Pour quitter le mode de défilement, appuyez simplement sur ESC.
Une autre astuce: Ctrl-a iaffiche votre paramètre de tampon actuel.
la source
byobu-screen
sur Ubuntu 12.04 semble définir le defscrollback à 10000startup_message off' and 'defscrollback 5000' into my newly created
~ / .screenrc` et il obtient la première ligne, mais la seconde semble être ignorée.Il y a une quantité minimale de tampon "par défaut" lorsque vous démarrez une session "écran" dans votre "session de mastic". J'utilise beaucoup d'écrans dans mon travail, donc je peux vous dire que vous n'aurez pas une combinaison de tampon «écran» et de tampon «mastic» dans votre session «écran».
La définition du nombre par défaut de lignes de défilement en ajoutant
defscrollback 10000
à votre~/.screenrc
fichier est la bonne solution.Soit dit en passant, j'utilise "defscrollback 200000" dans mon
./screenrc
fichier.la source
Comme déjà mentionné, nous avons deux façons!
Paramètre interactif par écran (session)
Et cela se fait de manière interactive! Et prenez effet immédiatement!
CTRL + Asuivi de :Et nous tapons
scrollback 1000000
Et frapponsENTERVous vous détachez de l'écran et revenez! Ce sera toujours pareil.
Vous ouvrez un autre nouvel écran! Et la valeur est réinitialisée à nouveau par défaut! Ce n'est donc pas un cadre mondial!
Et le paramètre par défaut permanent
Ce qui se fait en ajoutant
defscrollback 1000000
à.screenrc
(à la maison)defscrollback
et nonscrollback
(def signifie défaut)Ce que vous devez savoir, c'est si le fichier n'est pas créé! Vous le créez !
Et vous y ajoutez
defscrollback 1000000
!Ou en une seule commande
(si pas déjà créé)
Prise d'effet
Lorsque vous ajoutez la valeur par défaut à
.screenrc
! L'écran déjà en cours d'exécution lors de la reconnexion ne prendra pas effet! La.screenrc
course à la création d'écran! Et cela a du sens! Tout comme avec un lancement normal de console et de shell!Et tous les nouveaux écrans créés auront la valeur définie!
Vérification de la taille effective de la mémoire tampon de l'écran
Pour vérifier le type CTRL + Asuivi dei
Et le résultat sera aussi
Il est important que la taille de la mémoire tampon soit le nombre après le signe +
(dans l'illustration, je l'ai défini sur 1 000 000)
Notez également que lorsque vous le modifiez de manière interactive! L'effet est immédiat et reprend la valeur par défaut!
Défilement
CTRL+ Asuivi de ESC(pour passer en mode copie).
Naviguez ensuite avec Up, DownouPgUp PgDown
Et ESCencore une fois pour quitter ce mode.
(Info supplémentaire: pour copier cliquez ENTERpour commencer à sélectionner! Puis à ENTERnouveau pour copier! Simple et cool)
Maintenant, le tampon est plus grand!
Et c'est tout pour les détails importants!
la source
AVERTISSEMENT: la définition de cette valeur trop élevée peut entraîner un hoquet important sur votre système. Plus la valeur que vous définissez est élevée, plus la mémoire virtuelle est allouée au processus d'écran lors du lancement de la session d'écran. J'ai défini mon ~ / .screenrc sur "defscrollback 123456789" et lorsque j'ai lancé un écran, tout mon système a gelé pendant 10 bonnes minutes avant de revenir au point où j'ai pu tuer le processus d'écran (qui consommait 16,6 Go). de VIRT mem d'ici là).
la source
Pour la postérité, cette réponse est incorrecte comme l'a noté Steven Lu. Laissant cependant le texte original.
Réponse originale:
À ceux qui arrivent via la recherche sur le Web (plusieurs années plus tard) ...
Lorsque vous utilisez l'écran, votre tampon de défilement est une combinaison à la fois du
screen
tampon de défilement comme l'ont noté les deux réponses précédentes, ainsi que de votre tampon de défilement de mastic.Assurez-vous que vous augmentez à la fois le tampon de défilement du mastic ainsi que le tampon de défilement de l'écran, sinon votre fenêtre de mastic ne vous permettra pas de revenir en arrière pour voir l'
screen
historique de défilement de votre (surmonté en faisant défiler l'écran avecctrl+a->ctrl+u
)Vous pouvez modifier votre limite de défilement du mastic dans la catégorie "Fenêtre" dans les paramètres. Quitter et rouvrir une session de mastic sur votre écran ne fermera pas votre écran (en supposant que vous fermez simplement la fenêtre de mastic et ne tapez pas
exit
), comme l'OP l'a demandé.J'espère que cela aide à identifier pourquoi l'augmentation du tampon de défilement de l'écran ne résout pas le problème de quelqu'un.
la source