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

4

Estou trabalhando no Windows PC. Se eu abrir um terminal (com putty ou ssh) em uma máquina do Linux (CentOS), não consigo fazer com que teclas como Esc, Ctrl, Shift e Alt funcionem. Eu preciso deles para Midnight Commander (atualmente Ctrl-Ins e Shift-Ins não estão funcionando para mim). É possível fazer essas chaves funcionarem?

    
por Igor Mukhin 12.05.2015 / 13:31

2 respostas

4

Putty emula um terminal que está conectado à conexão Unix machine via serial ( RS232c ). Veja aqui para opções de configuração. Os tipos típicos de terminal incluem vt100 , vt200 , xterm , ansi .

Para obter uma operação adequada, sua variável de ambiente Unix TERM precisa corresponder ao tipo de terminal que está sendo emulado (cf. Putty configuration Connection/Data/Terminal-type ). Estou usando xterm , também para janelas do console no modo de texto.

Use o comando echo $TERM as para encontrar o valor atual.

Esc é o primeiro caractere das seqüências de controle do terminal. Portanto, normalmente não deve ser usado como caractere autônomo. Ctrl , Shift e Alt por si só não acionam nenhum caractere a ser enviado para a sua máquina Unix . Você pode usar o menu de configuração Putty Terminal/Keyboard para influenciar como determinadas chaves são traduzidas.

    
por 12.05.2015 / 14:18
1

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

  • Escape como prefixo retornado por chaves especiais é fornecido por xterm como uma alternativa para o meta (veja a discussão de eightBitInput no manual).
  • as outras chaves ( Controle , Shift e Alt ) são normalmente usados como modificadores *. Ou seja, eles geralmente não enviam caracteres por si mesmos, mas modificam o comportamento de uma tecla pressionada ao mesmo tempo.

As perguntas frequentes Como posso usar modificadores de controle ou de turnos? apresenta alguns dos antecedentes para chaves modificadas. O PuTTY não implementa qualquer disso. Ele faz modificar as sequências de controle enviadas por uma tecla de cursor deslocada, alternando entre os modos normal e aplicação (veja o FAQ xterm Por que não posso usar as teclas de cursor no (qualquer) shell? para alguma discussão desses termos).

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

Como outros emuladores de terminal que configuram TERM para xterm , uma descrição completa do terminal tem muitas diferenças em relação a xterm . O ncurses FAQ Por que não usar o TERM definido como "xterm"? dá uma visão geral desse aspecto.

A menção de ssh sugere que você pode estar usando mintty com o Cygwin. Isso é um descendente de PuTTY , com as mesmas limitações.

    
por 03.11.2017 / 22:11