Thom Nichols


Technology is evolution outside the gene pool

Ubuntu looks even better on a MacBook Pro

I recently setup my macbook to dual-boot OS X and Linux, primarily to support OpenEmbedded development.  There's plenty of good documentation out there, but not all in one place.  So I decided to gather up what I found.

Note that these notes are for Ubuntu 10.04, Lucid Lynx.  I came across a lot of old documentation saying "you need to do X for Y to work," when, in fact you used to in some previous version but it's no longer necessary.

Setup & Install

This part was fairly straight-forward.  Follow these instructions to setup a dual boot between your existing OSX partition and Ubuntu.  The only caveat here was where they say "click advanced and choose 'Install GRUB' on /dev/sda3."  Since /dev/sda3 didn't exist, the installer wouldn't let me install there.  I had to go back to GPartEd and create that second partition.  I also didn't need to do anything with rEFIt to fix my boot partitions, since that appears to be fixed in the latest version that I installed.

Once you've booted into Ubuntu for the firs time, follow these instructions to get all of the proper drivers to support keyboard backlight and FN keys.  Note that the page is specific to the Macbook hardware revision you have, but the instructions detail how to obtain that information.  At this point, you have a fairly functional setup.

Expose and Spaces

To get Expose and Spaces-like functionality, install the compizconfig-settings-manager package and enable "Scale" (for Expose) and "Desktop Wall" (for Spaces shortcuts).  Note that the actual "number of spaces" is set in the "Desktop Size" tab under "General Options."


Althought touchpad is supported out of the box, it's extremely sensitive and I found myself accidentally tapping almost constantly while typing.  The touchpad settings in Gnome aren't very helpful, but luckily there's fine-grained control via a config file. 

Edit the file at /usr/lib/X11/xorg.conf.d/10-synaptics.conf.  These settings worked well for me:
# See:
# For current settings: `xinput list-props bcm5974`
Section "InputClass"
    Identifier "touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "synaptics"
    Option "FingerHigh" "40"
    Option "PalmDetect" "on"
    Option "LockedDrags" "on"
    Option "JumpyCursorThreshold" "90"


Flash apparently already has decent support; install the package flashplugin_installer.  If you want the 64-bit version, read this.


Occasionally, it seemed like I couldn't connect to an AP even thought I had the correct WEP key.  If this happens to you, running sudo ifdown eth1 && sudo ifup eth1 seemed to fix the problem.

If you're on an aircard and want to turn off the wifi radio altogether (e.g. to save power) call sudo iwconfig eth1 txpower [on|off]


This article is old but still works for Verizon's USB modem.  Gnome's broadband config in NetworkManager didn't work for me, but it might if you're using a GSM (T-Mobile or AT&T;) modem.

MS Exchange Email

Evolution has built-in Exchange support via Outlook Web Access, but it has to be enabled by your IT admins.  If you're on the corporate intranet, you can use the MAPI adapter to directly connect to the internal exchange mail server:
sudo apt-get install evolution-mapi


sudo apt-get install vpnc
If you want to convert your cisco .pcf files, you need pcf2vpnc which isn't
included in the vpnc package.  So you have to manually build it from the vpnc source:
sudo apt-get install libgcrypt11-dev gnutls-dev
svn co vpnc
cd vpnc && make
sudo cp cisco-decrypt pcf2vpnc /usr/local/bin/
(You might want to chmod the files copied into /usr/local/bin)
Then as su, pcf2vpnc my_vpn.pcf > /etc/vpnc/my_vpn.conf

Category: osx ubuntu