Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been using zsh for a couple of years now on Ubuntu and really like it a lot.

I've installed it on our production server as well, which is running CentOS 5.2, and it works just fine.

However, I just installed it via yum on a new VM I created to use as a development box, to replicate our production box as closely as possible.

Although yum shows that it is definitely installed (/bin/zsh) and that it is set as my shell, it does not appear to be working. Instead of creating the .zshrc and .profile files in my home directory, it created a .tcshrc file. Also, I did not receive the default configuration menu that is always displayed once you begin using ZSH, and none of the features (like advanced tab comple

share|improve this question
What do echo $version and echo $ZSH_VERSION tell you? – Dennis Williamson Feb 11 '11 at 16:00
What happens when you type /bin/zsh on the command line? Choosing your shell isn't the same as installing it. – Andrew M. Feb 12 '11 at 19:10
Sorry guys.. I got busy with work projects and neglected this thread. Thank you for your responses. @dennis-williamson echo $version produces a blank line. echo $ZSH_VERSION tells me "4.2.6" @Redmumba Thanks, but I did ensure that I installed zsh before choosing it as my shell. Typing /bin/zsh starts zsh. – tommytwoeyes Mar 18 '11 at 20:08
up vote 0 down vote accepted

Installing a shell on a system will not go back adn add dot-rc files to your current home directory. You can copy the defaults from /etc/skel/.zshrc or make your own. ZSH will prompt you to create a customized one on first run if none exists. If a .tcshrc file got created, I think it would only be because you ran that shell.You can see what shell you are running by executing echo $SHELL. You can change the default shell for a user to any shell installed on the system and approved in /etc/shells by executing passwd -s.

share|improve this answer
Thanks! I wasn't aware of the defaults in /etc/skel/.zshrc. That fixed my problem. You sure about passwd -s though? I just checked the man page for passwd and it doesn't appear to have an -s switch. – tommytwoeyes Apr 13 '11 at 13:14
Yes I'm sure. You must be using a passwd from a different package. Here is from my man page: "-s This option is used to change the user login shell. A normal user may only change the login shell for their own account, the super user may change the login shell for any account." – Caleb Apr 13 '11 at 13:17
Gotcha. Ok, thanks again. – tommytwoeyes Apr 13 '11 at 13:19

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.