143 votes

Touches fléchées, Home, End, touches de complétion de tabulation ne fonctionnent pas dans Shell.

J'ai installé ubuntu minimal(mini.iso) sur ma vm. J'ai ensuite utilisé le mode récupération pour me connecter en tant que root et créer un compte avec useradd -m admin et ensuite définir un mot de passe avec passwd admin .

Lorsque je me connecte sur le nouveau compte, au lieu de l'invite normale, je ne vois qu'une $ signe. Si j'essaie de compléter par une tabulation une commande ou un nom de fichier, il imprime une tabulation normale. Si j'essaie d'utiliser les touches fléchées, le message suivant s'affiche ^[[A , ^[[B , ^[[C o ^[[D . Aussi, ls n'ajoute plus de couleurs.

Aucun de ces problèmes n'était en mode de récupération. Comment puis-je réparer cela ?

255voto

steeldriver Points 118154

Cela signifie probablement que le nouveau compte utilisateur a été créé avec /bin/sh comme login Shell (qui fait un lien symbolique avec le tiret Shell par défaut) au lieu de /bin/bash - vous pouvez changer le login Shell d'un utilisateur avec la commande 'chsh'.

chsh -s /bin/bash

ou pour changer le login d'un autre utilisateur Shell (il faut être root pour le faire évidemment).

sudo chsh -s /bin/bash <username>

(vous devrez ouvrir une nouvelle session de connexion pour que le changement prenne effet). Vous devrez peut-être aussi copier le .bashrc par défaut depuis /etc/skel pour obtenir l'invite de couleur.

À l'avenir, vous voudrez peut-être utiliser la commande 'adduser' au lieu de 'useradd' - elle configure un environnement utilisateur plus complet, y compris des choses comme un .profile et un .bashrc par défaut - ainsi que la configuration du login Shell à 'bash'.

5voto

Kyle Points 174

Je n'ai pas pu utiliser la complétion de tabulation lors de la connexion via VNC à un XFCE4 sans tête. La réponse indiquée ici n'a pas fonctionné, mais celle-ci l'a fait :

Modifier les raccourcis clavier dans le fichier xml :

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

Trouvez :

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

Changez-le en :

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

Déconnectez-vous/redémarrez et vous devriez être prêt à partir.

2voto

Christoffer Klang Points 184

J'ai simplement installé Vim et tout a été résolu. Au début, je pensais qu'il était installé sur la version originale d'Ubuntu puisque j'étais capable d'utiliser la commande Vi, mais ce n'était pas le cas.

sudo apt-get install vim 

a résolu le problème.

1voto

5p0ng3b0b Points 169
sudo sh -c "if [ -e $(which bash) ]; then rm $(which sh) && ln -s $(which bash) /bin/bash; fi"

Mon problème était que /bin/sh était lié par un lien symbolique à /bin/dash .

0voto

Dexter Points 1054

Dans mon cas, il s'est agi d'une fonction que j'avais créée dans mon fichier .bash-aliases appelé "test". Si vous rencontrez toujours ces erreurs, passez en revue vos alias personnalisés dans le dossier .bashrc , .bash_profile y .bash_aliases en supprimant temporairement les ajouts suspects et en réessayant l'autocomplétion de bash.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X