backspace não funciona no meu cliente ssh

4

Eu SSH em um servidor unix usando o cliente SSH versão 3.2.9. Vários recursos principais não funcionam quando estou logado no servidor. para citar alguns: backspace (^ H é feito em vez, mas shift + backspace funciona), quando eu pressiono <tab> eu não recebo sugestões, ~ não me leva para casa.

Eu tenho local.cshrc, local.login e local.profile na minha pasta pessoal (quando eu fizer login).

A seguir está em local.profile

$ more local.profile
#
# Copyright (c) 2001 by Sun Microsystems, Inc.
# All rights reserved.
#
# ident "@(#)local.profile      1.10    01/06/23 SMI"
stty istrip
PATH=/opt/sunone_apps/Dep/POL/:/usr/bin:/usr/ucb:/etc:.


export PATH
    
por Dennis Williamson 02.12.2009 / 04:44

5 respostas

5

Uma solução rápida é fazer:

stty erase <backspace>

Onde, você tenta acertar o backspace. Pressione Enter no final dessa linha e, a partir desse ponto, o sistema reconhecerá isso como seu caractere de retrocesso - mas ele permanecerá apenas durante a duração da sessão.

É uma correção temporária, para quando você não pode ser incomodado com o logout, alterando o tipo de terminal e fazendo o login novamente.

    
por 02.12.2009 / 05:28
2

Correção permanente: Eu já vi esses problemas antes.

Pegue o backspace, por exemplo, o host remoto espera que algum caractere seja usado como "apagar / retroceder", enquanto você pressiona o backspace no terminal, o programa terminal enviará algum caractere para o host remoto, se o host remoto Espera diffs com os caracteres enviados pelo programa terminal, você encontraria este problema. Então, uma solução rápida é a seguinte:

execute o comando #stty -a no host remoto e encontre o que é esperado para ser um código de apagamento na saída. Diga apagar = ^. No terminal, digite Ctrl v e pressione seu backspace. Você verá qual código é enviado como "apagar". Diga que é ^H . No host remoto, execute #stty erase ^H . Você pode corrigir o problema do Tab com o mesmo que acima.

    
por 11.04.2015 / 12:06
2

Além disso, depende do terminal. Em uma máquina windows, eu uso o MobaXterm, que é como uma versão corpulenta do Putty. Quando você cria uma sessão (salva ou não), você tem uma aba "Stations de terminal" que tem a opção de enviar ctrl H , como backspace . Desmarque esta opção. Você pode fazer isso no meio da sessão, sem precisar reiniciar sua sessão ou sair da geração de CSRs, etc.

Também é aqui que você pode alterar o tipo de terminal (como xterm ou vt100 , etc.).

    
por 13.12.2015 / 20:50
1

Normalmente, isso é causado por seu terminal não ser reconhecido no terminal remoto. Se você estiver se conectando a um sistema Unix ou Linux antigo, pode ser necessário alterar o tipo de terminal para vt100.

    
por 02.12.2009 / 05:03
1

Eu não sei sobre "SSH Client 3.2.9", mas a maioria dos clientes SSH permite que você especifique se a sua tecla de backspace irá enviar ^ H (backspace) ou ^? (DEL) Seu problema é que você está usando o último quando deveria estar usando o primeiro.

No Putty, você altera isso para um perfil salvo nas opções de teclado do perfil. Procure uma opção de configuração semelhante no seu cliente ou mude para o Putty.

A sugestão do @oo. regarging stty erase <backspace> dirá a sua sessão de terminal para esperar qualquer caractere que seu cliente SSH esteja enviando. Consertar isso no seu cliente é uma solução melhor.

Note que no comando stty , você PODE ter que prefixar a tecla de retrocesso com um Ctrl-V para "escapar" para que seja tratado literalmente. Os shells modernos (bash / tcsh) geralmente "aceitam" um DEL mesmo quando o Backspace é o caractere de apagar, apenas para facilitar as coisas para as pessoas.

    
por 21.12.2011 / 17:27

Tags