Sign up ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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.


Anyone have any idea what I did wrong?

Edit: Solution was to type

chsh -s /bin/bash

While logged in with the $.

share|improve this question
For me a password was requested on execution of the command. (the user-pw). As well to mention: you need to re-login to enable the new settings (debian-jessie) – Alex Apr 30 at 11:55

2 Answers 2

up vote 10 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:

share|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

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


if [ "$(whoami)" == 'root' ]; then

fiddle with it too.. fiddling is important.

share|improve this answer
-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 – 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
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
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

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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