As teclas de seta, Home, End, teclas de conclusão de tabulação não funcionam no shell

96

Eu instalei o ubuntu minimal (mini.iso) no meu vm. Em seguida, usei o modo de recuperação para fazer login como root, criar uma conta useradd -m admine definir uma senha com passwd admin.

Quando entro na nova conta, em vez do prompt normal, vejo apenas um $sinal. Se eu tentar completar um comando ou nome de arquivo com uma guia, ele imprimirá uma guia normal. Se eu tentar usar as teclas de seta que imprime ^[[A, ^[[B, ^[[Cou ^[[D. Além disso, lsnão adiciona mais cores.

Nenhum desses problemas estava no modo de recuperação. Como posso consertar isso?

Runemoro
fonte
1
O prompt $ é para um usuário. o prompt do root é #. As teclas de seta não funcionam no terminal, você precisa digitar algo como unitypara executar o shell Unity
SimplySimon
3
@SimplySimon As teclas de seta para cima e para baixo devem alternar entre os comandos anteriores, as teclas de seta esquerda e direita devem rolar pelo comando atual e a guia deve completar o comando ou o nome do arquivo. O caminho deve ser escrito à esquerda do $ ...
Runemoro
Muito verdade, é claro que sim. desculpe
SimplySimon

Respostas:

183

Isso provavelmente significa que a nova conta de usuário foi criada com / bin / sh como seu shell de logon (que é vinculado ao shell de traço por padrão) em vez de / bin / bash - você pode alterar o shell de logon de um usuário com o comando 'chsh'

sudo chsh -s /bin/bash <username>

(você precisará sair e fazer login novamente para que a alteração entre em vigor). Você também pode precisar copiar o .bashrc padrão de / etc / skel para obter o prompt de cores.

No futuro, convém usar o comando 'adduser' em vez de 'useradd' - ele configura um ambiente de usuário mais completo, incluindo itens como .profile e .bashrc padrão - além de definir o shell de login como 'bash'

chave de aço
fonte
16
Dica adicional: um usuário pode alterar isso para sua própria conta sem exigir direitos sudo (basta omitir sudono comando acima).
Cedric Reichenbach
4
Na verdade, você não precisa sair. Basta invocá-lo digitando no /bin/bashprompt. O mesmo se aplica se você modificar seu bash.rcarquivo. Para ver as alterações, você faz a mesma coisa.
SDsolar
5

Não consegui usar o preenchimento de guias ao conectar via VNC a um XFCE4 sem cabeça. A resposta listada aqui não funcionou, mas funcionou:

Edite atalhos de teclado no arquivo xml:

sudo nano ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

Encontrar:

<property name="&lt;Super&gt;Tab" type="string" value="switch_window_key"/>

Altere para:

<property name="&lt;Super&gt;Tab" type="empty"/>

Sair / reiniciar e deve estar pronto

Kyle
fonte
2

Acabei de instalar o Vim e tudo foi resolvido. No começo, eu pensei que ele estava instalado na versão original do Ubuntu desde que eu era capaz de usar o comando Vi, mas não era o caso.

sudo apt-get install vim 

resolveu o problema.

user1080009
fonte
A resposta selecionada não funcionou para mim, mas funcionou.
Aaron Cicali 5/03
-1

Isso resolverá tudo: cole e pressione. Depois disso, você poderá concluir automaticamente a partir do histórico, usando a seta para cima.

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

Retirado de: https://unix.stackexchange.com/questions/5366/command-line-completion-from-command-history Também é possível usar Ctrl + R para ver seu histórico.

Josef Klimuk
fonte
Ele funcionará para todas as modificações do Linux #
1911 Josef Klimuk