![Backspace, Tab não funciona no terminal (usando ssh)](https://rvso.com/image/23946/Backspace%2C%20Tab%20n%C3%A3o%20funciona%20no%20terminal%20(usando%20ssh).png)
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:
- execute o comando
#stty -a
no host remoto e encontre o que se espera ser um código de apagamento na saída. Dizererase=^?
. - No terminal, pressione Ctrl+ ve pressione backspace. Você verá qual código é enviado como "apagar". Diga que é
^H
. - 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 bash
a partir do seu shell.
bash
Para definir bash
como seu shell padrão:
chsh -s /bin/bash
ou
sudo chsh -s /bin/bash yourusername
Responder4
Seu shell pode estar configurado para /bin/sh
em vez de/bin/bash