Estoy trabajando en una PC con Windows. Si abro una terminal (con PuTTY o SSH) en una máquina Linux (CentOS), no puedo hacer que funcionen claves como Esc, y .CtrlShiftAlt
Los necesito para Midnight Commander (actualmente Ctrl+Insy Shift+Insno me funcionan). ¿Es posible hacer que estas claves funcionen?
Respuesta1
Putty
Emula un terminal que está conectado a la Unix
máquina mediante una RS232c
conexión serie ( ). Miraraquípara opciones de configuración. Los tipos de terminales típicos incluyen vt100
, vt200
, xterm
, ansi
.
Para obtener un funcionamiento adecuado, su Unix
variable de entorno TERM
debe coincidir con el tipo de terminal que se está emulando (consulte Putty
configuración Connection/Data/Terminal-type
). Estoy usando xterm
, también para ventanas de consola en modo texto.
Úselo echo $TERM
como comando para encontrar el valor actual.
Esc
es el primer carácter de las secuencias de control del terminal. Por lo tanto, normalmente no debería utilizarse como carácter independiente. Ctrl, Shifty Altpor sí solos no activan el envío de ningún carácter a su Unix
máquina. Puede utilizar el Putty
menú de configuración Terminal/Keyboard
para influir en cómo se traducen determinadas claves.
Respuesta2
Aunque PuTTY establece la TERM
variable enxterm
, su comportamiento de hecho no coincide con el comportamiento de xterm. Hay dos características mencionadas en la pregunta:
- Escapecomo unprefijodevuelto por claves especiales es proporcionado porxtermcomo alternativa a lametaclave (ver la discusión sobre
eightBitInput
en el manual). - las otras claves ( Control, Shifty Alt) se utilizan normalmente como *modificadores. Es decir, no suelen enviar caracteres por sí solos, sino que modifican el comportamiento de una tecla pulsada al mismo tiempo.
Preguntas frecuentes sobre las ncurses¿Cómo puedo utilizar modificadores de cambio o control?presenta algunos de los antecedentes de las claves modificadas. PuTTY no implementacualquierde eso. Élhacemodificar las secuencias de control enviadas por una tecla de cursor desplazada, cambiando entrenormalysolicitudmodos (consulte las preguntas frecuentes de xterm¿Por qué no puedo usar las teclas del cursor en (cualquiera) shell?para una discusión sobre esos términos).
ncurses tiene una descripción de terminal precisa para la configuración predeterminada deMasilla(Se podrían crear varias descripciones para corresponder a la configuración del cuadro de diálogo del teclado, pero en la práctica rara vez se mencionan y probablemente rara vez se usan). Los sistemas con una base de datos terminal completa tendrán esoputty
descripción del terminal.
Al igual que otros emuladores de terminal que se configuran TERM
enxterm
, una descripción completa del terminal tiene muchas diferencias versus xterm
. Preguntas frecuentes sobre las ncurses¿Por qué no utilizar TERM configurado en "xterm"?ofrece una visión general de ese aspecto.
La mención desshsugerencias que puede estar utilizando mintty
con Cygwin. que es descendiente dePuTTY
, con aproximadamente las mismas limitaciones.
Respuesta3
La respuesta esno puedes, ya que se trata de un error en PuTTY.
HayGatitoque es una bifurcación de PuTTY y que ha implementado el soporte adecuado Ctrl, Shiftes posible que desees echarle un vistazo.
Fuente:https://superuser.com/a/1226621/360137
Y solo una nota al margen: de forma predeterminada, KiTTY tiene Ctrl+Up/Downuna tecla de acceso rápido de control de transparencia, por lo que es posible que desees desactivar la transparencia por completo configurándola Window->Transparency
como -1
valor predeterminado para las sesiones.
Respuesta4
Yo, como autor de putty4far2l putty fork, te sugiero que pruebes «far2l+masilla4far2l» para una experiencia de usuario similar a «mc + putty», pero con soporte completo para teclado. Esto está disponible a través de las llamadas «extensiones de terminal far2l». Si ejecuta mc dentro de far2l dentro de putty4far2l, la compatibilidad total con el teclado también estará disponible en mc.
PD: ppa para far2l esaquí, el binario de putty4far2l está disponible directamente en github