A veces, una pantalla de terminal está desordenada, y cuando usamos man ls
para leer las páginas de manual, o presionamos la flecha ARRIBA para ir a los comandos anteriores en el historial, la pantalla mostrará los caracteres no como el lugar correcto. (por ejemplo, trate el final de la pantalla como si estuviera en el medio de la pantalla).
El comando reset
se prueba y no funcionaría. Una forma que funciona es cerrar sesión o cerrar la ventana, y cambiar el tamaño de la ventana primero, y luego hacerlo ssh
(o cerrar esa pestaña, y cambiar el tamaño de la ventana, y luego abrir una nueva pestaña para obtener un nuevo shell).
Pero de esta manera, perderemos todo lo que hicimos anteriormente, como iniciar una consola de máquina virtual, etc. Entonces, si no cerramos el shell, ¿hay alguna forma de solucionar este problema?
(Esto sucedió antes dentro de Fedora, y también para un Macbook ssh
en una caja RHEL 5.4).
Actualización: ahora recuerdo cómo sucedió en Fedora: abrí un terminal e hice un FreeVM para usar una consola de una máquina virtual (un shell). Creo que tenía un tamaño de 80 x 25 y luego, después de un tiempo, cambié el tamaño del Terminal a 130 x 50 aproximadamente, y luego el "caparazón interno" (de la VM) comenzó a comportarse de manera extraña).
reset
no resuelve el problema.^Jreset^J
, donde^J
significa presionarctrl-J
. O (en terminales gráficos) puede probar elReset
botón. Además, algunos programas simplemente no están preparados para que los tamaños de terminal cambien debajo de ellos (sí, el software antiguo está vivo y funcionando) o simplemente se portan mal cuando el terminal se vuelve demasiado pequeño.Respuestas:
Si está usando bash, verifique si la opción "checkwinsize" está activada en su sesión usando
Si no consigues
luego actívelo con
La documentación de Bash dice para el atributo "checkwinsize":
Si te gusta la configuración, puedes activarla
checkwinsize
en tu~/.bashrc
.shopt -s checkwinsize
shopt -u checkwinsize
fuente
Puedes probar Ctrl+ L. Borra y / o vuelve a dibujar la pantalla del terminal, según el programa.
fuente
Agregar estas opciones a Docker Exec parecía resolver mi problema
fuente
Tuve el mismo problema y ninguna de las recetas anteriores funcionó para mí porque creo que mi bash nunca recibe las
SIGWINCH
señales, que están atrapadas por su proceso principal.Finalmente encontré una solución. Agregué a mi
.bashrc
:Ahora, cada vez que recibo un nuevo aviso, mi ventana se reajusta.
Gracias a UKmonkey por la mejora de PROMPT_COMMAND.
fuente
export PROMPT_COMMAND="resize &>/dev/null; $PROMPT_COMMAND"
por lo que el viejo símbolo del sistema, lo que mi ser será preservadoSolo quería agregar a lo que Arcadien ya había mencionado. La habilitación de checkwinsize hace el truco, pero para mí, lo que se necesitaba era restablecer el tamaño de la ventana para que funcione correctamente. Supongo que el checkwinsize estaba destinado a eliminar esto, pero aún así, vale la pena intentarlo. Simplemente intente cambiar el tamaño de la ventana o desmarcarla y maximizarla, publique esta opción.
fuente
Me enfrento al mismo problema de vez en cuando usando zsh en macOS. Una simple invocación de
reset
comando configura el terminal a mi gusto nuevamente.fuente
reset
no estaba funcionando para ellos, y este fue de hecho el punto de la pregunta ...reset
trabajé en este caso. Agregué esta respuesta para ayudar a cualquiera que se enfrente al mismo problema en una MacOS y no esté al tanto delreset
comando.reset
¡funciona en Windows Putty con Ubuntu 16.04!Tuve el mismo problema que tú y esto es lo que hice:
tengo una
.profile
configuración en mi usuario, así que ahí es donde hago todos mis cambios.Hay un paquete llamado
xterm
que está disponible a través deapt-get
No lo séyum
. Pero hice una instalación local desde la fuente ya que no tengo privilegios de instalación. ENLACE: http://invisible-island.net/xterm/#downloadExporté la ruta en mi perfil y la invoqué en el mismo lugar
Así que ahora cada vez que inicio sesión, el tamaño del terminal se establece en consecuencia al cambiar el tamaño.
fuente
Bueno, ese es un problema común y debería haber una solución simple.
Si otras medidas como Ctrl + A Ctrl + L no funcionan, intente usar
stty
:O: Salga de la pantalla (Ctrl + AD para separar) y cierre sesión en su sesión SSH.
stty -a | grep rows
: Obtiene el número de filas y columnas.Ejemplo:
speed 38400 baud; rows 33; columns 133; line = 0;
stty
salida debería ser diferente.Ejemplo:
speed 38400 baud; rows 47; columns 177; line = 0;
stty rows N
ystty columns N
donde N es el número "real" (fuera de la pantalla). Ejemplo:$ stty rows 33; stty columns 133
Si usa Terminator , puede omitir los primeros tres pasos porque muestra el número de columnas y filas en la parte superior.
No tiene que cambiar el tamaño de las ventanas de su terminal para encontrarse con esto. Los administradores generalmente inician sesión desde diferentes computadoras y cuando los monitores conectados difieren en tamaño (resolución), una ventana maximizada tendrá un tamaño diferente en cada computadora. En realidad, es bastante difícil no toparse con esto con frecuencia.
Y el resultado no es solo que algunas páginas de manual no se muestran correctamente. Es prácticamente cualquier cosa que use un buscapersonas: a menudo faltan las primeras líneas (por ejemplo). Y ni siquiera piense en usar VIM en un terminal tan desalineado. Desea resaltar la línea 3 (V) para reemplazarla, pero cuando lo hace, el texto resaltado es el de otra línea.
fuente
Tratar
stty sane
. Debería hacer lo que necesita.fuente