Quando ssh em outra máquina Ubuntu com minha conta (com permissões sudo), minha tecla backspace gera alguns símbolos estranhos ao pressionar. As teclas Tab, Del e Arrow também não funcionam.
Por outro lado, eu também tenho outra conta na mesma máquina e quando ssh através dessa conta, seu terminal funciona perfeitamente. Eu não conseguia descobrir por que isso está acontecendo.
command-line
gnome-terminal
xterm
gopi1410
fonte
fonte
Respostas:
EDIT: Referência: resposta de Mateng
Mateng está perto de pensar que você provavelmente está executando o Bourne Shell. Mas você não deve editar seu
/etc/passwd
arquivo diretamente. Tente usar ochsh
comando:O sinalizador -s fará do novo shell (Bash neste caso) o seu shell de login, daqui para frente.
fonte
sudo chsh -s /bin/bash
As seguintes alterações resolveram o problema para mim. Primeiro, verifiquei qual shell estava sendo executado:
que retornou:
Como eu li neste post no Ubuntuforums , mudar o shell para
/bin/bash
trazer a solução. Então editei minhas configurações de usuário/etc/passwd
para:Eu saí, depois entrei novamente. Estranhamente, tive que alternar manualmente o shell (talvez algum cache estivesse ativo) digitando o seguinte:
Voila!
[O problema surgiu devido a uma atualização de distribuição.]
fonte
quando você entra pela primeira vez, tente estes dois comandos
Eu tenho que fazer isso em algumas máquinas que eu vou para corrigir exatamente esse problema
fonte
stty erase <backspace>
(<backspace> estar onde você realmente pressiona a tecla) #$ stty erase '^[[A' stty: invalid integer argument '\033[A'
. Com [Backspace]:$ stty erase '^?'
funciona. Com [Tab]:$ stty erase ' '
nenhum erro, mas depois [Backspace] está de volta ao comportamento estranho.export TERM=VT100
, mas sem sucesso.stty tab0
não ajuda. Eu acho que é necessário algum tipo de reconfiguração geral do xterm. Ou o mapa de teclas está simplesmente errado?Uma das maneiras mais fáceis de corrigir esse problema é digitar / bin / bash no prompt da interface da linha de comandos:
$ / bin / bash
O comando mencionado acima executará o Bourne Again Shell no topo do shell existente como um subprocesso. Isso apresenta a desvantagem de utilizar mais recursos, mas nada precisa ser editado e nenhuma permissão especial é necessária. Por exemplo, nas versões recentes do Kubuntu, ele iniciará uma sessão / bin / bash no topo da interface shell de linha de comando padrão / bin / dash.
Para persistir nas alterações, no entanto, uma possibilidade é editar o arquivo / etc / passwd e adicionar / editar / substituir o shell padrão em / bin / bash após o último caractere ':' na linha correspondente ao usuário. Para editar esse arquivo, porém, seriam necessários privilégios de administrador.
fonte
'Terminal Gbnome' não emula exatamente 'xterm' ..
de: Wikipedia >> Terminal GNOME
O Terminal GNOME emula o emulador de terminal xterm e fornece alguns dos mesmos recursos.
Um tratado sobre o problema e as soluções podem ser encontradas aqui:
Backspace do Linux / Excluir mini-HOWTO
A solução mais simples fornecida (que pode funcionar aqui) é usar: bash $ export TERM = gnome
fonte
Como usuário root, edite o arquivo / etc / passwd para seu usuário e altere de / bin / sh para / bin / bash
hdfs: x: 1020: 1001 :: / home / hdfs: / bin / sh para hdfs: x: 1020: 1001 :: / home / hdfs: / bin / bash
Isso funcionou para mim.
fonte
Eu tentei todas as notas acima e mais de ( neste link ) sem sucesso. Você pode querer verificar se o vim está instalado.
Eu costumo usar vi não vim. Então eu instalei o vim.
Depois disso, os toques no teclado começaram a funcionar corretamente quando eu executei o vi. Observando a saída a seguir, parece que o vi foi transformado em um alias para o vim após a instalação:
fonte
Esse é um problema de compatibilidade com o teclado, ou seja, como é interpretado no sistema host. Pode ser necessário usar j ou h para mover no editor vi no modo de comando. As setas não funcionarão.
Verifique as preferências de perfil-> compatibilidade no sistema host para esse usuário específico.
fonte
Ok, eu sei que essa não é uma "solução", por exemplo, e pode não ajudar muitos de vocês , mas espero que ajude pelo menos um de vocês . Corrigiu o meu problema.
Minha criança de seis meses bateu no teclado e minhas teclas de seta pararam de funcionar na minha sessão de massa em uma caixa Debian. Eles trabalharam em qualquer outro lugar (todos os outros programas fora da massa). Depois de pesquisar no Google e até de desembarcar aqui (eu ia fechar essa guia, isso não resolveu para mim). Eu tentei alguma coisa. Abri uma nova sessão ssh na mesma caixa e minhas teclas de seta funcionaram. Entrei na minha sessão de tela e eles não funcionaram. Então, aconteceu algo ligado à sessão de tela atual, desativando as teclas de seta. Infelizmente, eu estava no meio de um grande projeto, tenho 28 janelas abertas na minha sessão de tela e não queria fechar a sessão, perdendo meu lugar nas 28 janelas.
Assim..
Enquanto estava no shell bash, tentei todas as combinações possíveis: CTRL + cima, baixo, esquerda direita, ALT + cima, baixo, esquerda, direita, SHIFT + cima, baixo, esquerda direita, CTRL + ALT + cima, baixo , esquerda direita, CTRL + SHIFT + cima, baixo, esquerda direita, etc. Ainda sem sorte, também tentei o menu do Windows e as teclas de aplicativos do Windows com as teclas acima, abaixo, esquerda e direita.
Agora minhas flechas funcionam novamente! Algo sobre uma das combinações do que está acima e as teclas de seta o consertaram.
fonte
Nenhuma das respostas acima resolveu o meu problema idêntico, ou seja, não é possível usar backspace ou chaves semelhantes após sshing para um controle remoto a partir de um Ubuntu (aqui ubuntu-17.10 com ncurses-6.0).
Isso acaba sendo um problema com o terminfo. Basicamente, meu gnome-terminal diz que é um terminal xterm-256color (através da variável TERM, que é exportada pelo ssh para o controle remoto), mas o controle remoto não tinha uma configuração terminfo para o xterm-256color.
O seguinte problema foi corrigido:
O infocmp, sem nenhuma opção, produz uma lista de fontes para o terminal na variável de ambiente $ TERM. Portanto, é equivalente a infocmp -I $ TERM.
Em seguida, a fonte resultante é compilada via tic.
Por fim, instale a configuração terminfo correspondente no local remoto. Portanto, na próxima vez que eu conectar ao $ remote via $ host, ele saberá sobre o meu terminal.
fonte