Comportamento engraçado de TTY / Terminal ao usar o sudo como usuário?

3

Eu configurei um Ubuntu VPS da Digital Ocean recentemente.

Quando faço login como root, consigo navegar pelo terminal corretamente

Quando eu sudo como qualquer outro usuário, obtenho um comportamento terminal extremamente estranho

  • Não consigo mover o cursor para a esquerda. Ele overrwites com estranhos caracteres de controle, por exemplo. rvm ^[[D
  • Não consigo usar a seta para cima para navegar pelos comandos anteriores. Eu recebo algo semelhante - $ ^[[A^[[A^[[A
  • O Vim é absolutamente inutilizável. Mover-se em qualquer direção causa uma estranha combinação de inserir os caracteres de controle acima ou "sobrescrever" os caracteres existentes. Eu também não consigo excluir.
  • A conclusão de tabulação não existe. A mesma saída acima.

Como tudo isso funciona quando logado como root , eu suspeito que é algo relacionado a software que me faz ter esperanças de que possa ser consertado.

Alguma ideia? Obrigado!

    
por user2490003 10.06.2015 / 22:15

2 respostas

3

bash deve ser definido para o shell para o usuário para que as teclas de seta funcionem. Para descobrir qual shell eles estão usando, digite o seguinte em uma janela de terminal enquanto estiver conectado como usuário:

echo $SHELL

se não for bash, o seguinte irá adicionar a variável shell ao usuário:

sudo usermod -s /bin/bash <username>

Espero que ajude.

    
por Terrance 10.06.2015 / 22:37
1

Note que se você quiser mudar o shell padrão, você deve editar o valor da variável SHELL em /etc/default/useradd para ser " / bin / bash ". Dessa forma, os novos usuários devem obter automaticamente /bin/bash como seu shell (a menos que seja substituído na linha de comando).

    
por user215338 10.06.2015 / 22:38