Backspace, Tab não funciona no terminal (usando ssh)

Backspace, Tab não funciona no terminal (usando ssh)

Quando eu ssh em outra máquina com Debian com minha conta (com permissões sudo), minha tecla backspace gera alguns símbolos estranhos ao pressionar. Além disso , as teclas Tab& delnão funcionam também.

Por outro lado, também tenho outra conta na mesma máquina e quando faço ssh por meio dessa conta, seu terminal funciona perfeitamente bem. Não consegui descobrir por que isso está acontecendo.

Responder1

Ao lado da solução "stty", você pode tentar a solução "TERM".

Você faz ssh para o seu Debian a partir de algum terminal (putty, solaris dterm, debain xterm, o que você quiser), este terminal anuncia recursos (que inclui chaves como Backspace e Tab) por meio da variável de ambiente TERM.

Então, após o ssh para o host unix (não depende do debian ou de outro host) defina a variável TERM de acordo com o seu terminal. Considere que você está usando o bash como shell e o vt100 como terminal:

export TERM=vt100

ps: TERM deve ser anunciado via ssh automaticamente, mas em algumas circunstâncias essa mágica falha.

Responder2

Já vi esses problemas antes.

Pegue o backspace, por exemplo, o host remoto espera que algum caractere seja usado como "erase/backspace", enquanto você pressiona backspace no terminal, o programa do terminal enviará algum caractere para o host remoto, se o que o host remoto espera for diferente os caracteres enviados pelo programa de terminal, você encontrará esse problema. Portanto, uma solução rápida é a seguinte:

  1. execute o comando #stty -ano host remoto e encontre o que se espera ser um código de apagamento na saída. Dizer erase=^?.
  2. No terminal, pressione Ctrl+ ve pressione backspace. Você verá qual código é enviado como "apagar". Diga que é ^H.
  3. No host remoto, execute #stty erase ^H.
    (Nota: use Ctrlv+ Backspace, não digite ^ manualmente)

Você pode corrigir o problema da guia com o mesmo procedimento acima.

Responder3

Isso ocorre porque seu shell padrão é sh, para usar bash, basta executar basha partir do seu shell.

bash

Para definir bashcomo seu shell padrão:

chsh -s /bin/bash 

ou

sudo chsh -s /bin/bash yourusername

Responder4

Seu shell pode estar configurado para /bin/shem vez de/bin/bash

informação relacionada