19 votos

SSH garbling caracteres en vim/nano en servidor remoto

... y me está volviendo loco.

Básicamente (esto ha estado ocurriendo durante los últimos dos meses), que me registro en un par de diferentes servidores CentOS (uno Linode, otro VPS, y un host compartida a la que tengo acceso shell), 5.5, 5.7 y 6, desde mi Mac con OS X Lion, el uso de la Terminal.

Básicamente:

$ ssh username@example.com

[remote-host] $ nano somefile.txt

Una vez que comience a editar el archivo, si puedo utilizar las teclas de flecha para moverse el cursor, o comenzar a eliminar, a continuación, escribiendo de nuevo, el cursor salta a su alrededor un poco, y si me guarde el archivo y vuelva a abrirlo, es obvio que el cursor fue, de hecho, saltando por todo el lugar en una línea sin razón aparente.

Me acaban de obtener cosas como "Esto es un neof de texto." Cuando yo había escrito en (el cursor loco editor) "Esta es una línea de texto."

Es un gran problema cuando se trata de edición de archivos de configuración, porque a menudo tengo que editar una línea, guardar y cerrar, a continuación, vuelva a abrir sólo para asegurarse de que la línea está a la derecha... luego editar otra línea... y es bastante molesto.

He encontrado Linode Ñol Shell Vim o Nano de representación de problemas: las líneas no aparecen / posiciones del cursor mal, pero no sé si eso se relaciona mucho, ya que se refieren específicamente a ñol.

16voto

Chris Page Puntos 317

[Actualización: Como de Mac OS X Mountain Lion 10.8, el Terminal es compatible con la Backtab secuencia de escape, la eliminación de este problema.]

La versión(s?) de nano en los servidores a veces envía un Backtab (ESC [ Z) de la secuencia cuando se mueve el cursor a la izquierda por un carácter, pero el Terminal no es compatible con esta secuencia, así nano piensa que el cursor se ha movido cuando no y su idea acerca de la posición actual del cursor está fuera de sincronización con el terminal.

Por razones que no puedo entender, nano envía un Backtab cuando se mueve a la izquierda y el cursor un carácter a la derecha de una tabulación. Del mismo modo, si mal no recuerdo, envía una Ficha (Control + I) cuando se mueve a la derecha y el cursor un carácter a la izquierda de una tabulación. No sé por qué lo hace alrededor de los tabuladores en lugar de moverse a la izquierda/derecha, usando la misma secuencia de caracteres. La versión de nano se entregan con Mac OS X Lion 10.7 no hacerlo.

Nano solo lo hace cuando el terminfo dice el cbt función es compatible. El valor predeterminado de terminfo para Terminal es xterm-256colorque declara esta capacidad y la asigna a la Backtab secuencia. Una solución es establecer el TERM variable de entorno a algo que no lo declare esta capacidad. Usted puede hacer esto en el local de la máquina antes de invocar ssh o en el shell de inicio de archivo en el host remoto. Ajuste a xterm-color hará en un apuro, aunque no es recomendable, ya que desactiva otros comportamientos importantes (por ejemplo, 256 colores, A.C., suplente del contenido de la pantalla de conservación). (Más pesado enfoque es personalizar tu xterm-256color (o xterm) terminfo archivo en el host remoto para remover cbt.)

Personalización del host remoto (de una manera o de otra) se recomienda, para las personalizaciones no se aplican de forma local o a otros hosts remotos, pero la solución más sencilla es cambiar un Terminal de ajuste de preferencias de uso xterm-color en lugar de xterm-256color:

Terminal > Preferencias > Ajustes > [perfil] > Avanzado > Declarar terminal como:

Recomiendo duplicar un perfil de configuración existente, la personalización y solo lo utiliza cuando se conecta a los hosts remotos.

8voto

dbenton Puntos 41

He tenido este mismo problema. He encontrado este hilo que recomendó, entre otras soluciones, una variable de entorno en el servidor remoto:

export TERM=xterm-color

Añadir esto a ~/.bash_profile solucionó el problema para mí. Esta solución es simple y tiene la ventaja de que afectan sólo a un usuario específico en un determinado host.

2voto

jap1968 Puntos 2849

Tuve el mismo problema en MobaXTerm programa. Causa del problema fue clave -K que solía activar numpad en Nano usando masilla. Como he descubierto en MobaXTerm -K no es necesaria (numpad funciona de forma predeterminada) y sin ella Flecha teclas trabajo correctamente y no introducir basura al azar.

1voto

Jarrod Puntos 111

OSX 10.7.4 con Centos funciona como un sistema operativo invitado

En OSX terminales preferencias, configuración, avanzado

Declare terminal as:xterm-color
Strict VT-100 keypad behaviour - TICKED!

No más problemas :)

1voto

cleartext Puntos 11

Para los usuarios de MobaXterm. Si usted no está usando -K y siguen experimentando el problema. Asegúrese de que las siguientes líneas son comentadas en el archivo /etc/nanorc.

# set rebinddelete

# set rebindkeypad

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: