10.6: Install fish shell on an upgraded version of 10.6

Nov 12, '09 07:30:00AM

Contributed by: jawong

Snow Leopard only hintAll the cool kids are using fish (bash is so 90's!), so why can't I? Because it won't install on my copy of Snow Leopard, dang it. I spent the greater part of this weekend trying to figure out why fish didn't like me. Read this so you won't have to endure my pain.

Using MacPorts, typing port install fish wouldn't result in a working installation. The install kept asking for iconv, gettext, or whatnot. 64-bit/32-bit Unix apps don't play well together in Snow Leopard, and because I upgraded from Leopard, I needed to reinstall MacPorts to deal with it. Long and painful, indeed.

  1. Follow the directions on upgrading in this entry in the MacPorts wiki. The basic steps are:
    1. Save the list of installed ports: port installed > myports.txt
    2. Clean any partially completed builds: sudo port clean all (this will take a while!)
    3. Uninstall all installed ports: sudo port -f uninstall installed
    4. Browse myports.txt and install the ports that you actually want to use (as opposed to those that are only needed as dependencies) one by one, remembering to specify the appropriate variants: sudo port install portname +variant1 +variant2 ...
  2. Install fish: port install fish
  3. Make fish the default shell. Append opt/local/bin/fish to the /etc/shells file. Then open the Accounts System Preferences panel, unlock it, Control-click on your account picture and select Advanced Options. Set the Login Shell to opt/local/bin/fish.
Voila! Enjoy fish! For more on fish, check out this Ars Technica article, and this lwn.net article.

[robg adds: The above is a modified repost of this entry on the author's blog. I changed the layout and some of the wording for better integration with the macosxhints site, but none of the technical details were edited.]

Comments (11)


Mac OS X Hints
http://hints.macworld.com/article.php?story=20091102085612743