Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

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 get this error when I try do sudo su

reputa@reputa:~$ sudo su
Cannot execute csh: No such file or directory

sudo -i is working fine but I want to use sudo su. How do I make it happen?

share|improve this question

Your root's (su) profile is set to use csh instead of the usual bash.

Run sudo apt-get install tcsh to install it, and your problem should be solved.

share|improve this answer

It seems you are using csh shell as your root login shell. So you can either install the missing shell using @izx answer. Or just change the default login shell of your root to a valid, installed login shell.

You can change the login shell of the root with command:

sudo chsh -s /bin/bash root

So now bash will become the login shell of root. You may change the shell to your needs.

Hint: you can get all shells in your system

cat /etc/shells
share|improve this answer

Edit passwd with vipw Make sure the root shell is set to /bin/bash root:x:0:0:root:/root:/bin/bash

share|improve this answer

You should better check your root's user default shell.

sudo gedit /etc/passwd

It should be /bin/bash

share|improve this answer
    
Directly editing /etc/passwd is a bad idea... – izx Aug 13 '12 at 9:49
    
Thanks, you're true, the correct way is sudo vipw /etc/passwd – Marc M Aug 13 '12 at 18:29

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.