¿Forzar que la pantalla GNU vuelva al ancho actual del terminal al volver a conectar?


32

Me gustaría forzar que la pantalla GNU se redistribuya al ancho del terminal existente cuando vuelva a conectar una sesión. Me parece que esto funcionó correctamente antes de actualizar una máquina a CentOS 6, pero no puedo encontrar la manera de restaurarla. ( TERM=xterm)

Cada vez que vuelvo a conectar una sesión, independientemente del estado cuando la separé, se inicia en 80 columnas, redimensionando mi terminal (PuTTY, en este caso) junto con ella.

Estoy iniciando y volviendo a conectar con:

screen -aA -R <session>

Mi .screenrc contiene solo lo siguiente y algunas asociaciones de teclas irrelevantes:

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

Es posible que tenga mejor suerte tmux, puedo cambiar dinámicamente el tamaño de mi ventana de Terminal y el tmux dentro seguirá.
— número5

Respuestas:


38

después de volver a conectar, ctrl-a Fejecuta el comando "ajustar" para cambiar el tamaño de la ventana actual. Si vuelve a adjuntar usando la -Aopción, debería cambiar el tamaño de todas las ventanas cuando vuelva a adjuntar. ¿Hay otras personas aún vinculadas a la sesión de pantalla cuando está adjuntando? Por ejemplo, ¿tiene que usar -x para volver a conectar en lugar de -r? puede separar a otros cuando vuelva a conectarlos con "screen -D -r" en lugar de "screen -x", y esperaría que esto reajuste automáticamente las ventanas.


Estoy iniciando con -a -A, y nadie más está conectado.
— Michael

1
Esto sigue siendo un problema con la pantalla a través de Ubuntu 14.04. El ajuste no funciona. Desconectar y volver a conectar lo hace. La pantalla 4.2.1 está disponible en backports de confianza . Consulte la documentación de backports del usuario para obtener información sobre cómo habilitar y usar paquetes del repositorio de backports.
— Greg Bell

1
Incluso después de hacer esto, tuve que cambiar el tamaño de mi ventana de terminal para enviar cualquier señal screennecesaria para hacer el cambio de tamaño.
— krs013

Estos ajustes no funcionaron para mí, tal vez porque estoy usando un terminal diferente (iTerm2 en Mac). El ajuste no funcionaba, así que lo separé y lo volví a colocar usando screen -D -re incluso intenté cambiar el tamaño de la ventana, pero se mantuvo igual. Cuando en Vim, puedo ver que columnsse configuró en 204.
— haridsv

screen -D -r funcionó para mí después de probar todas las otras opciones, como dijiste Stew - mi pantalla todavía se mostraba como adjunta cuando ejecuté screen -ls
— Hayden Crocker

8

Tenga en cuenta que esta respuesta solo se aplica a PuTTY. Yo también me veo obligado a usar un sistema operativo que preferiría no usar, y PuTTY es la única opción real debido a otras restricciones en el sistema. Estaba teniendo el mismo problema, mi pantalla cambiaría de tamaño al iniciar o conectarse a una sesión de pantalla existente. Probé las respuestas aquí en vano (Windows 10 con PuTTY 0.67 instalado a través de MSI). Estas respuestas podrían haber funcionado con un terminal estándar UN * X, pero no con PuTTY, es una bestia diferente.

Fui a cavar en las opciones, y he aquí que en "Terminal -> Características" hay una opción etiquetada "Deshabilitar el cambio de tamaño del terminal a control remoto". Marque la casilla, aplique la configuración e intente nuevamente la pantalla. Creo que encontrarás el problema resuelto.


KiTTY es un reemplazo directo mucho mejor para PuTTY en ese sistema operativo que está obligado a usar ...
— Anubioz

5

Intente agregar esto (desde / etc / screenrc) a su ~ / .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, esto definitivamente resuelve la sesión de masilla que no llena toda la página pero se abre demasiado pequeña
— Thomas8
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.