Forcer l’écran GNU à redistribuer à la largeur actuelle du terminal lors de la remise en place?


32

Je voudrais forcer l’écran GNU à redistribuer à la largeur du terminal existant lorsque je rattache une session. Il me semble que cela fonctionnait correctement avant de mettre à niveau une machine vers CentOS 6, mais je ne sais pas comment le restaurer. ( TERM=xterm)

Chaque fois que je rattache une session, quel que soit l'état auquel je l'ai détachée, elle démarre à 80 colonnes, ce qui redimensionne mon terminal (PuTTY, dans ce cas).

Je lance et rattache avec:

screen -aA -R <session>

Mon .screenrc ne contient que les éléments suivants, ainsi que quelques raccourcis non pertinents:

term xterm

defscrollback 10000

# status line at the bottom
hardstatus on
hardstatus alwayslastline
hardstatus string "${-}%{.0c}%-w%{.y0}%f%n %t%{-}%+w %=%{..G}[%H] %{..Y} %D %M %d, %Y %c | Load: %l"
caption splitonly "%{.yK}%3n t"
caption string "%{.c0}%3n %t"

vbell off

# Fix fullscreen programs
altscreen on

Vous aurez peut-être plus de chance avec tmux, je peux redimensionner dynamiquement ma fenêtre de terminal et le tmux à l'intérieur suivra.
numéro5

Réponses:


38

Une fois que vous avez réaffecté a, ctrl-a Fla commande "fit" est exécutée pour redimensionner la fenêtre en cours. Si vous vous rattachez à l'aide de l' -Aoption, il devrait redimensionner toutes les fenêtres lorsque vous vous attachez. Y a-t-il d'autres personnes encore attachées à la session d'écran lorsque vous vous connectez? Par exemple, devez-vous utiliser -x pour rattacher au lieu de -r? vous pouvez détacher d'autres personnes lorsque vous les rattachez avec "screen -D -r" au lieu de "screen -x", et je m'attendrais à ce que cela réajuste automatiquement les fenêtres.


Je lance avec -a -A, et personne d'autre n'est attaché.
Michael

1
C'est toujours un problème avec screen via Ubuntu 14.04. Fit ne fonctionne pas. La déconnexion et la reconnexion le font. L’écran 4.2.1 est disponible à partir de backports fiables . Consultez la documentation de l' utilisateur sur les backports pour plus d'informations sur l'activation et l'utilisation des packages à partir du référentiel de backports.
Greg Bell

1
Même après cela, je devais redimensionner la fenêtre de mon terminal pour envoyer le signal screennécessaire au redimensionnement.
krs013

Ces solutions ne fonctionnaient pas pour moi, peut-être parce que j'utilise un autre terminal (iTerm2 sur Mac). L’ajustement ne fonctionnait pas, alors j’ai détaché et recollé l’utilisation screen -D -ret même essayé de redimensionner la fenêtre, mais il est resté le même. Quand je suis à Vim, je vois que columnsc'était réglé sur 204.
haridsv

screen -D -r a travaillé pour moi après avoir essayé toutes les autres options, comme vous l'avez dit Stew - mon écran apparaissait toujours comme attaché lorsque j'ai lancé l'écran -ls
Hayden Crocker

8

Notez que cette réponse ne s'applique qu'à PuTTY. Moi aussi, je suis obligé d'utiliser un système d'exploitation que je ne préférerais pas, et PuTTY est la seule option réelle en raison d'autres restrictions imposées au système. J'avais le même problème, mon écran serait redimensionné lors du lancement ou de la connexion à une session d'écran existante. J'ai essayé les réponses ici en vain (Windows 10 avec PuTTY 0.67 installé via MSI). Ces répondeurs ont peut-être travaillé avec un terminal UN * X standard, mais pas avec PuTTY, c'est un produit différent.

Je suis allé creuser dans les options, et voici, sous "Terminal -> Fonctionnalités", une option intitulée "Désactiver le redimensionnement du terminal contrôlé à distance". Cochez la case, appliquez le réglage et réessayez l'écran. Je pense que vous trouverez le problème résolu.


KiTTY est un meilleur remplacement drop-in pour PuTTY sur ce système d' exploitation que vous êtes obligé d'utiliser ...
Anubioz

5

Essayez d’ajouter ceci (à partir de / etc / screenrc) à votre ~ / .screenrc:

# Change the xterm initialization string from is2=\E[!p\E[?3;4l\E[4l\E>
# (This fixes the "Aborted because of window size change" konsole symptoms found
#  in bug #134198)
termcapinfo xterm* 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'

https://superuser.com/a/217281/6593


1
En MPutty, cela résout définitivement la session de mastics qui ne remplit pas toute la page mais ouvre trop petite
Thomas8
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.