I ordered the new Project Sputnik laptop from Dell to replace my six-year-old MacBook. It’s basically the most-tricked-out version of the XPS 13, running Ubuntu 12.04 instead of Windows 8. I won’t get into why I dislike Apple’s OS, but I run Linux on my desktop and on any server machine I login to, and I enjoy a consistent experience. The most appealing part about Project Sputnik, as opposed to installing Linux on any ol’ Windows laptop (or a MacBook, for that matter), is that it includes a Dell-managed PPA for the hardware. In theory, this means that Dell is committed to making sure that the laptop’s hardware “just works”. Given Dell’s inconsistent relationship with Linux over the last decade or so, I know to take this with a block of salt. Still, as much as possible, I wanted to avoid the nightmarish epics I’ve read regarding getting fans, screens, and media keys to work with various Linux distributions.

So far, it’s been a pretty good experience, but I figured I’d share a few things I’ve done to make my life a little easier with my sweet new beast of a laptop.

First, I hate hate hate hate hate Unity and GNOME 3, the stock user interface with Ubuntu 12.04. Perhaps it’s my fault that I bought this laptop when the screen resolution was 1366x768 instead of it’s current 1920x1080 (conveniently released a day after my return period was up), but Unity is horribly inefficient with screen space, and getting anything done requires a ton of mouse clicks and waiting for menus to load. I’m partial to AwesomeWM, but I’m not here to preach its virtues. Basically, if you decide to go with a different Xsession, I’d recommend finding a way to launch gnome-settings-daemon, either in your .xinitrc or however your weapon of choice launches things at startup. Like it or not, gnome-settings-daemon takes care of some your media keys (e.g. screen brightness), and, more importantly, your power-saving options as you open and close the lid. Some of the acpid scripts look for a power manager, like gnome-settings-daemon, and if you’re not running one, it doesn’t always go into or come out of hibernation correctly. This means that your battery life will suck. Take advantage of Sputnik and its hardware support by running gnome-settings-daemon. If you’re running GNOME 3 and Unity, this’ll work, but you may die of using the trackpad too much.

Speaking of the trackpad, coming from a MacBook, I was both delighted and a little disappointed. First, two-finger scrolling (and the two-finger right-click) just works. Awesome. But, maybe this is my fat hands, but I always found myself accidentally tap-clicking the right-click while typing, which is unbelievably frustrating. Fortunately, there’s a solution. Just find a way to run synclient MaxTapTime=0 when your X session starts up, and you should be golden. This just disables tapping the trackpad to click, similar to how a MacBook’s trackpad behaves.

Did you just get used to OS X Lion’s inverse scrolling? Me, too! And I was disappointed to see that the default scrolling is the opposite / old-way-of-doing-things. If you want to invert your scrolling, find a way to run this at startup: xinput set-button-map "CyPS/2 Cypress Trackpad" 1 2 3 5 4 7 6 8 9 10 11 12 Note that the 4 and 5 and the 6 and the 7 are reversed. This means that up scrolls become down scrolls and right scrolls become left scrolls (and vice versa).

Another tricky thing I’ve noticed is that it’s hard to tell if the wireless has been disabled. Fn+F2 is a hardware switch for the wireless to save power or for the airplane or whatever. Unfortunately, if you accidentally hit it, it’s hard to tell. So, run rfkill list to see the status of your wireless connection and if it’s soft- or hard-blocked, try flipping the Fn+F2 switch and/or running rfkill unblock all until both soft- and hard-blocked read “No”.

Finally, coming from a MacBook, which has the Fn key in the bottom left corner with Ctrl to its right, I found it a little disorienting to have them swapped (Ctrl is in the bottom left) on this laptop. Fortunately, this was good incentive to do what I’ve been meaning to do for a long time, map Caps Lock to Ctrl. Caps Lock has absolutely no use to me, and it takes up a pretty prime piece of real estate on my keyboard. Given how far away and awkwardly-placed the normal Ctrl key is, I decided to make the switch and couldn’t be happier. Now, when I hit Caps Lock, it acts as Ctrl instead of MAKING IT LOOK LIKE I’M YELLING. There are a number of ways to do it, but I created ~/.Xmodmap with the following contents:

remove Lock = Caps_Lock
keysym Caps_Lock = Control_L
add Control = Control_L

Overall, I’m very pleased with this laptop, and the following tweaks above have made it especially awesome. I hope that this post helps you have the same experience!