Fink and DarwinPorts
While Mac OS X comes with enough basic Unix tools to get you started, it lacks a lot of tools that Linux users are familiar with. Also, many of the installed Unix programs are very basic versions (for example, the Emacs shipping with Mac OS is text-only).
There are two projects that try to address this: Fink and DarwinPorts. Both provide a way to automatically download and install prepackaged open source software. I was using Fink only until recently, when I noticed that some software is starting to appear in DarwinPorts and not Fink. It seems DarwinPorts might be more active these days.
Here is a list of the Fink packages I currently have installed:
anacron 2.3-4 Periodic command scheduler aspell 0.50.5-1 Spell checker better than ispell bzip2 1.0.2-12 Block-sorting file compressor cdrecord 1.11a39-1 A command line CD/DVD writing tool eject 1.0-1 Eject removable media grep 2.4.2-3 Search text files for patterns imagemagick 5.5.1-23 Image manipulation tools lynx 2.8.4-24 Console based web browser mkisofs 1.11a39-1 Creates ISO-9660 CD-ROM filesystem images mpg123 pre0.59s-8 Real time MPEG Audio Player for Layer 1,2 ncftp 3.1.7-1 Browser program using ftp protocol netpbm 9.25-13 Graphics manipulation programs and libraries nmap 3.75-2 Network exploration utility openssh 3.9p1-2 Secure shell (remote login) client and serve pstree 2.17-1 Shows the ps listing as a tree sed 4.0.5-1 The stream editor, GNU version tidy 20021210-2 Utility to tidy up HTML code transfig 3.2.4-6 Converts xfig objects to various graphics unzip 5.52-11 Decompression compatible with pkunzip urlview 0.9-11 Extracts URLs from text wget 1.8.2-2 Automatic web site retriever xfig 3.2.4-4 Menu-driven tool to create graphical objects
I also have
offlineimap installed from DarwinPorts.
As you can see, this augments the Unix environment on the Mac with a few useful tools. If you are a Linux user, you need either DarwinPorts or Fink (or both) and the software they provide.
When I use a particular computer environment, I don't feel I've truly mastered it until I understand every configuration option (and thus I will probably never really master Emacs). After I had installed my fresh copy of Tiger on my Powerbook, I went through every system preference panel and noted all the changes I made from the default install. Those changes were too extensive to list here, but I would like to point out a few you may find useful, particularly if you come from the Linux/Unix world.
Function key handling on PowerBooks with Mac OS X has always been a problem. The system has assumed you want to use the function keys for controlling your Mac first and controlling your applications second. This means that pressing, for example,
F3 mutes your audio output. If you wanted to press
F3 in Emacs to close a window, you had to use
Fn-F3. This causes no end of annoyance for users accustomed to using function keys as application keys first and system control buttons second.
Apple has finally offered a fix for this in Mac OS X: in the
Keyboard and Mouse System Preference panel, you can now select
use F1-F12 keys to control software features to allow applications direct access to the function keys.
Next, I turned off the dashboard. I wanted to like it, I really did. The widgets certainly look cool. However, I was constantly activating the Dashboard when I pressed the eject key (
F12). Secondly, my Powerbook is slow and old and it didn't seem wise to waste processing power on something I wasn't going to use. I followed these directions to permanently shut off the Dashboard.
Another very handy and often overlooked improvement to keyboard use on the Mac is to enable
Full Keyboard Access in the
Keyboard and Mouse System Preferences panel. This allows you to tab between all form elements and not just text boxes. This means, for example, that with a
Yes/No/Cancel type of application window, you can tab to the Cancel button and press enter instead of reaching for the mouse.
I would also like to point out the virtues of using the screen corners to activate Expose. Expose is probably my favorite piece of useful Mac eye candy: at the press of a button, you can make all application windows slide off the screen or rearrange so that you can see all onscreen windows at once in miniature with no overlapping. Expose is one of those features that's hard to explain but amazing when you see it.
show all windows is bound to
show the desktop to
F11. I don't like to use these keys because I find the placement and size of the Powerbook function keys in the upper right of the keyboard very awkward. The function keys are also much smaller than the other keys on the keyboard so they are even harder to use.
Instead of simply using the function keys to control Expose, I like to trigger these functions by sliding the mouse into the corners of the screen. I use the lower-left corner for
All Windows and the upper-right corner for
Desktop. To enable this, go to the
Desktop and Screen Saver system and preference panel and select
Hot Corners. You can also experiment with using this to enable the screen saver or Dashboard.
Note that if you are a touch typist like I am, this trick only works well on a laptop, when you have the scroll pad right under the keyboard. Otherwise, you have to move your hand off the keyboard and grab the mouse all the time.