Tweaking Mac OS X for the Linux/Windows user

As you no doubt know by now, I’m gradually switching over from using Windows to using Mac OS X.

I have quite some experience with using Unix and I’d love to have the power of the command-line combined with the simplicity of a GUI here and then.

OSX provides that advantage to me: For one, I’m getting a very styled and time-tested UI, the ability to run most applications I need (this is where Linux still has some problems) and on the other hand, I’m getting a nice well-known (to me) command line-environment.

Of course, in my process of switching over, I made some tweaks to the system, I’m sure some of my readers may find useful:

  • Use a useful default shell: I very much prefer ZSH, so chsh -s /bin/zsh was the first thing I did.
  • Use a useful configuration for said shell: I’m using this .zshrc. It configures some options, enables a nice prompt, fixes the delete-key, sets the path and does other small cosmetical things.
  • Install the developer tools. They are on your install DVD(s).
  • Go and install Fink. No UNIX without some GNU utilities and other small tools. The current source-distribution works perfectly well with the intel macs.
  • Fix the Home- and End-Keys.
  • Tweak the terminal: Open the Window-Settings, chose “Display”, use a reasonable cursor (underline) and set your terminal to Latin-1 (I had numerous problems using UTF with ZSH). If you want, enable Anti-Aliasing. Then chose “Color”, use the “White on Black” preselection and play with the transparency slider. Use the settings as default.
  • Install VLC – your solution for every thinkable multimedia need. Watch out to get the Intel nightly if you have an Intel Mac.
  • I never use sleep-mode because it feels “wrong” not to shut the machine down completely. That’s why I entered sudo pmset -a hibernatemode 1 to make the “Sleep” option in the Apple-Menu work like Hibernate in Windows.

If you are a web developer on an intel mac and consider using PostgreSQL, don’t use the premade builds on because they are still built for PPC. You may use the StartupItem which is provided there though. If you do, call PostgreSQL’s configure like this to get the paths right:

./configure --prefix=/usr/local/pgsql --bindir=/usr/local/bin --with-openssl
--with-pam --with-perl --with-readline --with-libs=/sw/lib

This is after you’ve installed readline using fink. OS X itself does not come with readline and psql without readline sucks.

After installing PostgreSQL with make install, the paths are set correctly for the premade StartupItem, which makes PostgreSQL start when you turn on your machine.

Furthermore, I created my own customized PHP-installation (5.1.2) using the following configure line:

./configure --enable-cli --prefix=/usr/local --with-pear --with-libxml-dir=/sw
--with-apxs=/usr/sbin/apxs --enable-soap --with-pgsql=/usr/local/pgsql
--with-readline=/sw --with-pdo-pgsql=/usr/local/pgsql --enable-pcntl
--with-curl=/usr --enable-ftp --with-gd --with-png-dir=/sw --with-jpeg-dir=/sw
--with-zlib-dir=/usr --with-freetype-dir=/usr/X11R6 --with-bz2

Use fink to install libxml2, libjpeg and libpng

Using the hints provided here, you’ll get a configuration which makes working with the machine much easier for a UNIX/Windows guy. I hope it’s of some use for you.