¿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.