I recently set up a new user using "adduser username" on my server and noticed that when I login I get:

$

Also, with my new user there is no folder highlighting, or tab completion.

However when I login as root I get a full terminal prompt plus highlighting, completion etc.

root@lin01:~#

Anyone have any idea what I did wrong?

Edit: Solution was to type

chsh -s /bin/bash

While logged in with the $.

link|improve this question
feedback

2 Answers

up vote 7 down vote accepted

Your new user's login shell has been set to /bin/sh, which on Ubuntu is dash. This is a shell intended to be small and fast, to run scripts efficiently. It doesn't have any interactive features. Change your shell to zsh (better) or bash (more common):

chsh -s /bin/bash

If you want to change adduser's default shell, edit /etc/adduser.conf:

DSHELL=/bin/bash
link|improve this answer
I tride typing chsh bash and it says "bash is not a user". So i typed "chsh username --shell bash" and it said "bash is an invalid shell". but I can type "bash" and it switches to the one i want. Any thoughts? – kidcapital May 6 '11 at 19:46
ok well, it turns out the correct command for me was: chsh -s /bin/bash .. thanks for pointing me in the right direction – kidcapital May 6 '11 at 19:49
@kidcapital: Yes, chsh -s /bin/bash was right, I indicated the right command but messed up its syntax. Sorry. – Gilles May 6 '11 at 19:58
feedback

After you follow Gilles' advice, increase the awesomocity of the prompt by adding this code to the user's ~/.bashrc (and your root's .bashrc):

# 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

fiddle with it too.. fiddling is important.

link|improve this answer
4  
-1 This doesn't answer the question, and doesn't fit the tone of the site, which is for professional system administration. I probably would have not downvoted if this question/answer had been on superuser or ubuntu.se. – Zoredache May 6 '11 at 19:26
Dude didn't understand the prompt, wanted a nice one. I gave him an example prompt to work with and encouraged changing it to fit his needs. – cidermonkey May 6 '11 at 19:34
1  
But if you read deeper into the question, you will see that it was about the a newly created complete lack of the standard environment. Please remember this site is not a forum, it is a Q&A site. If you post an answer it is supposed to be an answer to the question. – Zoredache May 6 '11 at 19:42
2  
I think the point Zoredache is making (and I am inclined to agree) is that you didn't answer the ultimate question of Anyone have any idea what I did wrong?. – Ben Pilbrow May 6 '11 at 19:44
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.