Les touches fléchées, Accueil, Fin, les touches de tabulation complètes ne fonctionnent pas dans le shell

96

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

Lorsque je me connecte au nouveau compte, au lieu de l'invite normale, je ne vois qu'un $signe. Si j'essaie de compléter une commande ou un nom de fichier par tabulation, une tabulation normale est imprimée. Si je tente d'utiliser les touches fléchées qu'elle imprime ^[[A, ^[[B, ^[[Cou ^[[D. En outre, lsn'ajoute plus de couleurs.

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

Runemoro
la source
1
L'invite $ est pour un utilisateur. l'invite de root est #. Les touches fléchées ne fonctionnent pas dans le terminal, vous devez taper quelque chose comme unitypour exécuter le shell Unity
SimplySimon
3
@SimplySimon Les touches fléchées haut et bas sont supposées basculer entre les commandes précédentes, les touches fléchées gauche et droite sont censées faire défiler la commande en cours, et tab doit compléter le nom de la commande ou du fichier. Le chemin doit être écrit à gauche du $ ...
Runemoro Le
Très vrai, bien sûr, ils le font. désolé
SimplySimon

Réponses:

183

Cela signifie probablement que le nouveau compte d'utilisateur a été créé avec / bin / sh comme shell de connexion (liens symboliques vers le shell de tableau de bord par défaut) au lieu de / bin / bash - vous pouvez modifier le shell de connexion d'un utilisateur à l'aide de la commande 'chsh'

sudo chsh -s /bin/bash <username>

(vous devrez vous déconnecter et vous reconnecter pour que le changement prenne effet). Vous devrez peut-être également copier le fichier .bashrc par défaut à partir de / etc / skel pour obtenir l’invite couleur.

À l'avenir, vous voudrez peut-être utiliser la commande 'adduser' à la place de 'useradd' - elle installe un environnement utilisateur plus complet comprenant des éléments tels que .profile et .bashrc par défaut - ainsi que de définir le shell de connexion sur 'bash'

Steeldriver
la source
16
Astuce supplémentaire: un utilisateur peut modifier cela pour son propre compte sans exiger de droits sudo (omettre sudodans la commande ci-dessus).
Cedric Reichenbach
4
En fait, vous n'êtes pas obligé de vous déconnecter. Il suffit de l'invoquer en tapant /bin/bashà l'invite. Même chose si vous modifiez votre bash.rcfichier. Pour voir les changements, vous faites la même chose.
SDsolar
5

Je ne pouvais pas 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 cela a fonctionné:

Modifier les raccourcis clavier dans un fichier xml:

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

Trouver:

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

Changez le en:

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

Déconnexion / redémarrage et devrait être bon pour aller

Kyle
la source
2

Je viens d'installer Vim et tout a été résolu. Au début, je pensais que c'était installé sur la version originale d'Ubuntu puisque je pouvais utiliser la commande Vi, mais ce n'était pas le cas.

sudo apt-get install vim 

résolu le problème.

utilisateur1080009
la source
La réponse sélectionnée n'a pas fonctionné pour moi, mais cela a fonctionné.
Aaron Cicali
-1

Cela résoudra tout: coller et appuyer sur. Après cela, vous pourrez compléter automatiquement à partir de l'historique en utilisant la flèche vers le haut.

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

Tiré de: https://unix.stackexchange.com/questions/5366/command-line-completion-from-command-history Vous pouvez également utiliser Ctrl + R pour voir votre historique.

Josef Klimuk
la source
Cela fonctionnera pour toutes les modifications de Linux
Josef Klimuk