Question Touches fléchées, Accueil, Fin, touches tab-complete ne fonctionnant pas en shell


J'ai installé Ubuntu minimal (mini.iso) sur ma 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 admin puis définissez 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'un $ signe. Si j'essaie de compléter une commande ou un nom de fichier par tabulation, il imprime un onglet normal. Si j'essaie d'utiliser les touches fléchées, il imprime ^[[A, ^[[B, ^[[C ou ^[[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?


75
2017-07-28 20:09


origine


L'invite $ est destinée à un utilisateur. L'invite de root est #. Les touches fléchées ne fonctionnent pas dans le terminal, vous devez saisir quelque chose comme unity pour exécuter le shell Unity - SimplySimon
@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 supposées faire défiler la commande en cours, et l'onglet doit compléter le nom de la commande ou du fichier. Le chemin devrait être écrit à gauche du $ ... - Runemoro
C'est vrai, bien sûr qu'ils le font. Pardon - SimplySimon


Réponses:


Cela signifie probablement que le nouveau compte utilisateur a été créé avec / bin / sh comme shell de connexion (qui par défaut est lié au shell Dash) au lieu de / bin / bash - vous pouvez modifier le shell de connexion d'un utilisateur avec 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 de / etc / skel pour obtenir l'invite de couleur.

À l'avenir, vous pourriez vouloir utiliser la commande 'adduser' au lieu de 'useradd' - elle configure un environnement utilisateur plus complet, y compris des éléments tels que .profile et .bashrc par défaut - et définit le shell de connexion sur 'bash'


146
2017-07-28 20:21



Conseil supplémentaire: un utilisateur peut changer cela pour son propre compte sans nécessiter de droits sudo (omettez simplement sudo dans la commande ci-dessus). - Cedric Reichenbach
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.rc fichier. Pour voir les changements, vous faites la même chose. - SDsolar


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 listée ici n'a pas fonctionné mais cela a fait:

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 pour:

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

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


5
2018-05-07 10:21





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

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

Pris à partir de: https://unix.stackexchange.com/questions/5366/command-line-completion-from-command-history Vous pouvez aussi utiliser Ctrl + R pour voir votre historique.


-1
2018-01-07 14:44



Il fonctionnera pour toutes les modifications de Linux - Josef Klimuk