Le terminal n'affiche que $?

8

J'ai récemment configuré un nouvel utilisateur en utilisant "adduser username" sur mon serveur et j'ai remarqué que lorsque je me connecte, j'obtiens:

$

De plus, avec mon nouvel utilisateur, il n'y a pas de mise en surbrillance de dossier ou de complétion d'onglet.

Cependant, lorsque je me connecte en tant que root, j'obtiens une invite de terminal complète ainsi que la mise en évidence, l'achèvement, etc.

root@lin01:~#

Quelqu'un a une idée de ce que j'ai fait de mal?

Edit: La solution était de taper

chsh -s /bin/bash

En étant connecté avec le $.

kidcapital
la source
Pour moi, un mot de passe a été demandé lors de l'exécution de la commande. (l'utilisateur-pw). Aussi bien mentionner: vous devez vous reconnecter pour activer les nouveaux paramètres (debian-jessie)
Alex

Réponses:

11

Le shell de connexion de votre nouvel utilisateur a été défini sur /bin/sh, ce qui sur Ubuntu est dash. Il s'agit d'un shell destiné à être petit et rapide, pour exécuter des scripts efficacement. Il n'a pas de fonctionnalités interactives. Changez votre shell en zsh (meilleur) ou bash (plus courant):

chsh -s /bin/bash

Si vous souhaitez modifier adduserle shell par défaut de, modifiez /etc/adduser.conf:

DSHELL=/bin/bash
Gilles 'SO- arrête d'être méchant'
la source
Je tride en tapant chsh bash et il dit "bash n'est pas un utilisateur". J'ai donc tapé "chsh username --shell bash" et il a dit "bash is an invalid shell". mais je peux taper "bash" et il passe à celui que je veux. Des pensées?
kidcapital
ok bien, il s'avère que la commande correcte pour moi était: chsh -s / bin / bash .. merci de m'avoir pointé dans la bonne direction
kidcapital
@kidcapital: Oui, chsh -s /bin/bashj'avais raison, j'ai indiqué la bonne commande mais j'ai foiré sa syntaxe. Désolé.
Gilles 'SO- arrête d'être méchant'
-4

Après avoir suivi les conseils de Gilles, augmentez la awesomocity de l'invite en ajoutant ce code au ~ / .bashrc de l'utilisateur (et au .bashrc de votre root):

# Black       0;30     Dark Gray     1;30
# Blue        0;34     Light Blue    1;34
# Green       0;32     Light Green   1;32
# Cyan        0;36     Light Cyan    1;36
# Red         0;31     Light Red     1;31
# Purple      0;35     Light Purple  1;35
# Brown       0;33     Yellow        1;33
# Light Gray  0;37     White         1;37

BLUE="\[\033[0;34m\]"
PINK="\[\033[1;35m\]"
WHITE="\[\033[1;37m\]"
LGREY="\[\033[0;37m\]"
LBLUE="\[\033[1;34m\]"
YELLOW="\[\033[1;33m\]"
LRED="\[\033[1;31m\]"
RED="\[\033[0;31m\]"
DGREY="\[\033[1;30m\]"

if [ "$(whoami)" == 'root' ]; then
  PS1="$DGREY]$RED╢$PINK\h$RED╟$DGREY[$LBLUE\w$WHITE:$LGREY "
else
  PS1="$DGREY]$BLUE╢$PINK\h$BLUE╟$DGREY[$LBLUE\w$WHITE:$LGREY "
fi

jouer avec lui aussi .. jouer du violon est important.

cidermonkey
la source
4
-1 Cela ne répond pas à la question et ne correspond pas au ton du site, qui est destiné à une administration système professionnelle. Je n'aurais probablement pas rétrogradé si cette question / réponse avait été sur superutilisateur ou ubuntu.se.
Zoredache
Mec n'a pas compris l'invite, en voulait une belle. Je lui ai donné un exemple d'invite à travailler et j'ai encouragé à le changer pour l'adapter à ses besoins.
cidermonkey
1
Mais si vous lisez plus profondément la question, vous verrez qu'il s'agissait d'un manque complet nouvellement créé de l'environnement standard. N'oubliez pas que ce site n'est pas un forum, c'est un site de questions / réponses. Si vous postez une réponse, elle est censée être une réponse à la question.
Zoredache
2
Je pense que le point soulevé par Zoredache (et je suis enclin à être d'accord) est que vous n'avez pas répondu à la question ultime de quiconque a une idée de ce que j'ai fait de mal? .
Ben Pilbrow