|
|
How do I change my default shell in Mac OS X Panther from tcsh to bash?Hi Dave! I'm running a 500 MHz Titanium Powerbook with 512MB of memory, Mac OSX 10.3.7. I recently had to do a clean install on my powerbook and my shell is defaulting to the tcsh instead of the bash. First question... Why did it do that? Second question... How do I fix it? Hi and thanks for your message! I used to have a Titanium Powerbook until it fell off my desk and the hinge shattered. A cool $1200 repair bill made me decide to just upgrade to the Aluminum unit. But that's not what you're asking about, is it? :-) There are two types of clean install with Mac OS X: there's the clean install that says "I already have accounts, just install all the OS and application program" (it's "clean" because you have all your old preferences, etc, removed) and then there's the really clean install which is "my disk is blank. I need something to fill it up. help." I surmise that the latter is what you found yourself doing. Apple might have been fiddling with things in 10.3.7 because starting with Panther, the default shell for a brand new account is supposed to be Bash (much to the unhappiness of the tcsh faithful). Why yours ended up with tcsh again, which was from back on the 10.2.x days, I can't explain. The good news is that it's easy to fix it. You can do this two different ways. If you really want to fix your default login shell, you'll need to go into the NetInfo Manager program (Applications -> Utilities -> NetInfo Manager). Click on "users" then find your account. In the lower pane is "shell" and it's doubtless set to "/bin/tcsh". Click on the value and change it to /bin/bash, then quit NetInfo Manager to have it set in the database. Note: if all the field values are greyed out, you need to click on the little lock icon on the bottom of the Window to allow you to edit the fields herein. Don't monkey around with other values while you're in the program, though, because you can really mess up your system! If you don't want to change the NetInfo database entry for your account, an easier alternative is to go into the Terminal application (Applications -> Utilities -> Terminal) then go to Terminal -> Terminal Preferences and select "Execute this command" and make sure it's the shell you want, as shown here:
Which do I recommend? Neither, particularly. Both work well and both accomplish what you want. Oh, alright, since I sometimes ssh into my Mac from other systems, I'd lean more towards changing the NetInfo database entry so that all shells you get have the right command shell, not just those within the Terminal application. Anyway, this'll fix your problem, I'm sure.
Related Mac OS X Help articles:
✔ Audacity can't find LAME library, I can't save Mp3?
Hey Dave. I read your article Audacity can't save mp3 audio files and am still puzzled because I downloaded the LAME Mp3 converter...
✔ How to remove Dashboard as a "space" in Mac OS X Spaces?I'm a big fan of the Spaces utility in Mac OS X that lets me have multiple virtual screens [see Set Up Mac...
✔ Best place to buy a cheap MacBook laptop?Hi Dave. I am looking for two gently used MacBook laptops for my teen daughters. Personal computers would greatly facilitate their studies as...
✔ File too big error copying to USB flash drive on my Mac?I'm baffled. I have a 16GB Kingston USB flash drive that I use on my Mac system and I'm trying to copy a...
✔ Stealth image capture photo from webcam on my Mac?Someone sneaks into my cubicle while I'm at lunch and takes candy out of my desk. Petty, but stupid too. I want to...
Let's stay in touch!
Sign up for my weekly AskDaveTaylor Newsletter and you'll receive even more tech and gadget help
right to your inbox, along with exclusive news and industry updates. It's good stuff. I promise!
Categorized:
Mac OS X Help
(Article 3854,
Written by Dave Taylor)
Tagged: Previous: How do I change the default action with removable media on my PC? Next: Can I share my Internet Connection on Windows with Two Adapters? Reader Comments To Date: 4Dave Taylor said, on January 13, 2005 11:58 PM:
Except the chsh command changes entries in the /etc/passwd file, and that's not the file that Mac OS X uses for account information management. Really. Here's my /etc/passwd file from a system that has five user accounts: nobody:*:-2:-2:Unprivileged User:/nohome:/noshell Not a single user account in the list. Dave Taylor said, on January 14, 2005 12:03 AM:
Actually, reading the man page for chsh, I think you're right and I'm wrong. It looks like chsh works with NetInfo (at least, with a local copy of NetInfo if you're in a networked environment) so you could indeed just type: $ chsh -s /bin/bash $LOGNAME on the command line to change your shell. MUCH easier than messing with NetInfo Manager! Travis Cripps said, on January 27, 2006 12:50 PM:
Nice tip, Mr. Bales. Thank you for the concise answer.
I do have a comment, now that you mention it!Check This Out Too... |
Recent Entries
Look for Answers
Recommended
All Our Categories
Apple iPad Help
Articles and Reviews Auctions and Online Shopping Blogs and Blogging Building Web Site Traffic Business and Management Computer and Internet Basics d) None of the Above Facebook Help Google Gmail Help Google Plus Help HTML, JavaScript and Web Site Programming Industry News and Trade Shows iPhone and Cell Phone Help iPod, Sony PSP and MP3 Player Help Kindle Fire Help Mac OS X Help Pay Per Click (PPC) Advertising Pinterest Help Search Engine Optimization (SEO) Shell Script Programming Tech Support Video Help The Writing Business Twitter, LinkedIn and Social Network Help Unix and Linux Help Video Game Tips and Help Windows PC Help Find Me on Google+ ADT on G+ |
Or you could simply run:
$ /usr/bin/chsh -s /bin/bash <-- for bash
or
$ /usr/bin/chsh -s /bin/tcsh <-- for tcsh
Any valid shell in /etc/shells can be used.