Take the 2-minute tour ×
Server Fault is a question and answer site for professional 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.

root@lin01:~#

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

2 Answers 2

up vote 8 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
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

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.

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

Your Answer

 
discard

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.