Não é possível inserir a letra 'e' em ssh [duplicado]

58

Agora mesmo estou tendo um comportamento muito estranho em um servidor LTS Ubuntu 14.04.2 que estou gerenciando.

Conectando-se ao servidor através do ssh a partir do cygwin (mintty) ou de um terminal em uma máquina Linux, não consigo digitar a letra e .

Eu fiz a seguinte depuração:

  • A letra e pode ser digitada no vim no servidor remoto
  • A letra e pode ser digitada no terminal nas máquinas locais
  • $TERM está definido como xterm
  • $LANG , $LANGUAGE e $LC_ALL estão definidos como de_DE.utf8
  • locale charmap retorna UTF-8

Neste momento, estou completamente sem idéias que podem estar causando isso.

Eu ficaria muito feliz com alguns conselhos sobre como corrigir isso.

    
por Zulakis 07.06.2015 / 14:10

1 resposta

59

Meu problema não é o mesmo que can ' Digite tipo lower cased e em amazon ec2 (Amazon Linux) , mas similar.

Após verificar /etc/inputrc e não encontrar nada fora do comum, lembrei-me de que fiz alguns atalhos de teclado no /etc/bash.bashrc . Isso já estava lá há muito tempo e funcionou perfeitamente, no entanto. Por que isso causaria problemas agora?

Descobri quando verifiquei /etc/bash.bashrc :

Como todos os arquivos são gerenciados usando ansible, este comando também foi inserido usando ansible:

- name: Up Arrow Command Search
  lineinfile: dest=/etc/bash.bashrc line="bind '\"\e[A\"':history-search-backward"

- name: Down Arrow Command Search
  lineinfile: dest=/etc/bash.bashrc line="bind '\"\e[B\"':history-search-forward"

Aparentemente, uma atualização ansible recente alterou o comportamento da lineinfile, de modo que o comando resultou em

bind \e[A:history-search-backward
bind \e[B:history-search-forward

em vez de

bind '"\e[A"':history-search-backward
bind '"\e[B"':history-search-forward

E, portanto, resultou no comportamento estranho.

Um grande agradecimento vai para Eric Renouf , pelo seu link para a outra questão com o mesmo problema!

    
por 07.06.2015 / 15:17