Por que teclas como Esc, Ctrl, Shift e Alt não funcionam na sessão SSH do meu PC com Windows?

Por que teclas como Esc, Ctrl, Shift e Alt não funcionam na sessão SSH do meu PC com Windows?

Estou trabalhando em um PC com Windows. Se eu abrir um terminal (com PuTTY ou SSH) em uma máquina Linux (CentOS), não consigo fazer com que chaves como , Esce funcionem .CtrlShiftAlt

Preciso deles para Midnight Commander (atualmente Ctrl+Inse Shift+Insnão estão funcionando para mim). É possível fazer essas chaves funcionarem?

Responder1

Puttyemula um terminal conectado à Unixmáquina via RS232cconexão serial ( ). Olharaquipara opções de configuração. Os tipos de terminais típicos incluem vt100, vt200, xterm, ansi.

Para obter uma operação adequada, sua Unixvariável de ambiente TERMdeve corresponder ao tipo de terminal que está sendo emulado (cf. Puttyconfiguração Connection/Data/Terminal-type). Estou usando xtermtambém para janelas de console em modo texto.

Use echo $TERMcomo comando para encontrar o valor atual.

Escé o primeiro caractere das sequências de controle do terminal. Portanto, normalmente não deve ser usado como caractere independente. Ctrl, Shifte Altpor si só não acionam o envio de nenhum caractere para sua Unixmáquina. Você pode usar o Puttymenu de configuração Terminal/Keyboardpara influenciar como certas teclas são traduzidas.

Responder2

Embora PuTTY defina a TERMvariável comoxterm, seu comportamento não corresponde de fato ao comportamento do xterm. Existem dois recursos mencionados na pergunta:

  • Escapecomo umprefixoretornado por chaves especiais é fornecido portermo xcomo alternativa aometachave (veja a discussão deeightBitInputno manual).
  • as outras teclas ( Control, Shifte Alt) são normalmente usadas como *modificadores. Ou seja, eles geralmente não enviam caracteres sozinhos, mas modificam o comportamento de uma tecla pressionada ao mesmo tempo.

Perguntas frequentes sobre ncursesComo posso usar modificadores de shift ou control?apresenta alguns dos antecedentes das chaves modificadas. PuTTY não implementaqualquerpor essa. Istofazmodificar as sequências de controle enviadas por uma tecla de cursor deslocada, alternando entrenormaleaplicativomodos (veja o FAQ do xtermPor que não consigo usar as teclas do cursor no (qualquer) shell?para alguma discussão sobre esses termos).

ncurses tem uma descrição precisa do terminal para a configuração padrão doMassa(várias descrições poderiam ser criadas para corresponder às configurações da caixa de diálogo do teclado, mas na prática elas raramente são mencionadas, provavelmente raramente usadas). Sistemas com um banco de dados de terminal completo terão issoputtydescrição do terminal.

Como outros emuladores de terminal que são configurados TERMparaxterm, uma descrição completa do terminal tem muitas diferenças em relação ao xterm. Perguntas frequentes sobre ncursesPor que não usar apenas TERM definido como "xterm"?dá uma visão geral desse aspecto.

A menção desshdicas que você pode estar usando minttycom o Cygwin. Esse é um descendente dePuTTY, com aproximadamente as mesmas limitações.

Responder3

A resposta évocê não pode, já que este é um bug no PuTTY.

Gatinhaque é um fork do PuTTY e que implementou Ctrl/ Shiftsuporte adequado, você pode querer dar uma olhada nele.

Fonte:https://superuser.com/a/1226621/360137

E apenas uma observação: por padrão, o KiTTY tem Ctrl+Up/Downuma tecla de atalho de controle de transparência, então você pode querer desabilitar completamente a transparência definindo Window->Transparencycomo -1valor padrão para as sessões.

Responder4

Eu, como autor do putty4far2l putty fork, sugiro que você experimente «far2l+massa4far2l» para uma experiência de usuário semelhante à «mc + putty», mas com suporte completo ao teclado. Isto está disponível através das chamadas «extensões de terminal far2l». Se você executar o mc dentro do far2l dentro do putty4far2l, o suporte completo ao teclado também estará disponível no mc.

PS: ppa para far2l éaqui, o binário do putty4far2l está disponível diretamente no github

informação relacionada