PuTTY: conectado a algún servidor Ubuntu, a veces deja de ir a una nueva línea al presionar enter

16

Uso PuTTY para SSH en algún servidor Ubuntu 14.04.4 LTS x64. Al presionar la tecla ENTER, el terminal pasa a una nueva línea. Sin embargo, de vez en cuando, algunos programas generan algo de texto, y luego presionar la tecla ENTERya no hace que el terminal pase a una nueva línea (vea la demostración a continuación).

ingrese la descripción de la imagen aquí

¿Hay alguna forma de evitar eso, o al menos cuando presionar la tecla ENTERya no hace que el terminal vaya a una nueva línea, hay alguna forma de restablecer el terminal para que ENTER el terminal vuelva a una nueva línea?

Franck Dernoncourt
fuente
2
Franck: cuando eso suceda, presiona Ctrl+Cy luego escribe resety presiona Enter. Avísame si eso ayuda.
Pimp Juice IT
@ Facebook Gracias, escriba resety presione Enterfunciona!
Franck Dernoncourt
Además, presente un informe de error contra ese glancesprograma por dejar el terminal en mal estado después de
fallar
Por coincidencia, apareció una pregunta similar en Unix & Linux Stack Exchange: unix.stackexchange.com/questions/398291
JdeBP
Considere usar cygwin e instalar Terminal. La masilla es muy horrible. Por ejemplo, mc no se mostrará correctamente y no le permitirá seleccionar archivos con shift.
JorgeeFG

Respuestas:

25

Puedes usar el reinicio comando de escribiendo y resetluego presionando Entercuando eso ocurra para reiniciar el terminal para que vaya a una nueva línea al presionar Enter nuevamente.

Mando

ubuntu@db200krctc:~$ ubuntu@db200krctc:~$ ubuntu@db200krctc:~$ ubuntu@db200krctc:~$
ubuntu@db200krctc:~$ reset
ubuntu@db200krctc:~$
ubuntu@db200krctc:~$
ubuntu@db200krctc:~$

Recursos adicionales

  • Reiniciar

    Cuando se invoca como reinicio, tset establece los modos de cocción y eco, desactiva los modos de interrupción y sin formato, activa la traducción de nueva línea y restablece los caracteres especiales no establecidos a sus valores predeterminados antes de realizar la inicialización del terminal descrita anteriormente. Esto es útil después de que un programa muere dejando un terminal en un estado anormal.

Pimp Juice IT
fuente
16

El resetcomando hace más de lo que realmente necesita aquí en este caso particular, ya que su problema es simplemente que el eco se ha desactivado. reseten realidad emite secuencias de control para restablecer el terminal en sí, cuando todo lo que realmente necesita es reconfigurar la disciplina de línea dentro del núcleo del sistema operativo, volver a activar el modo de eco y no tocar el terminal en absoluto.

Para eso, simplemente use:

stty cuerdo
o incluso solo:

eco stty

resetaborda situaciones en las que es realmente el estado del terminal el que necesita reiniciarse y no (solo) el estado de la disciplina de línea; es decir, se han borrado las pestañas, se ha dejado el terminal cambiado al búfer de pantalla alternativo, se ha intercambiado un conjunto de caracteres inconveniente de 8 bits, y así sucesivamente.

Otras lecturas

JdeBP
fuente
¿Cómo es realmente la disciplina de línea en el núcleo? Esta respuesta me suena bien, excepto aquella parte de la que tengo muchas dudas.
Stephen Ostermiller
@StephenOstermiller: ¿Dónde más estaría?
psmears
3
La disciplina de línea es en realidad uno de los primeros controladores del núcleo que fueron configurables desde el espacio de usuario, Unix tenía sttyy gtty(establece y recibe) llamadas al sistema mucho antes de que fueran reemplazadas por la ioctlllamada más general .
Guntram Blohm apoya a Monica el
66
Tiene sentido porque es independiente del shell, por lo que también funcionará en otros programas. Y en los primeros días no había un programa de terminal, por así decirlo: las consolas en serie interactuarían directamente con el kernel (y de hecho aún pueden).
Muzer
1
Para aclarar: en los viejos tiempos, la parte posterior de / dev / tty era un puerto serie físico. La disciplina de línea fue gestionada por el controlador kernel tty. Con una sesión de terminal falsa o una sesión de terminal de red, / dev / tty es un terminal psuedo y su parte posterior no es un puerto serie físico sino otro dispositivo maestro pseduo desde el cual los datos de sesión se leen / escriben y se alimentan al zócalo de red o El emulador de terminal. El lado / dev / tty del pseudo terminal se comporta de manera muy similar al lado / dev / tty de un puerto serie real. en.wikipedia.org/wiki/Pseudoterminal
Sam Liddicott