I have done this. It works. Performance is a little reduced, and there is some quirkiness. Be sure to give the VM enough resources -- mainly RAM. Definitely do NOT give the VM both processor cores! Give it ONE. I've done it on a 4GB macbook, giving the VM 1.5GB and one core, and I was happy with the desktop performance.
That said, "happy" in this context is a bit of an "eye of the beholder" thing. You may or may not be happy, depending on your expectations.
Also, it depends on what you are doing. For me, that was PHP programming, (i.e. lots of Vi), LAMP box sysadmin stuff (i.e. lots of terminal), web browsing stuff.
I must admit that eventually I got frustrated with some of the limitations.
Pros:
- Get to use Linux on nice laptop hardware
- Don't have to fiddle with installing Linux on an MBP (Linux on Apple hardware has always been fiddly, IMO. Much better on certain Dells or Thinkpads or other more "generic" laptops)
- Hardware stuff, such as sleep, VPN, volume controls, whatever, Just Work. (relates back to "fiddly" comment, just prior)
- Trackpad gets all the Apple driver goodness (related to last two points)
Cons:
- Performance loss
- Quirks, such as weird screen refresh issues, Apple keyboard, Apple one-button mouse or trackpad doing weird stuff, Desktop-integration weirdness (sorry I can't think of specifics)
Finally, my frustrations with the quirks, not so much the performance, led me to bite the bullet and use all the Appley goodness straight up. I removed the VM completely. (I still have a server VM, though, for doing server sandboxing). I must say, I am way, way, MUCH happier this way. Mac OS has a ton of things that you can do to make it more friendly to a Linux user. My recommendation is for you to explore those things, instead.
Ideas:
- Install gvim
- Try iTerm
- Check out Macports or Darwin Ports (I don't remember which is better)
- Learn the Apple keyboard shortcuts (unfortnately, they are almost all different from Linux desktops. However, they are MUCH more internally consistent on Mac OS, as Apple enforces UI consistency quite strictly)
- Try a better GUI shell than Finder (I actually mostly use CLI because I hate Finder so much)
- Many, many other things