We have this promotion going on at work where you can get a free Dell Chromebook if you buy a Linux training course. I got a sample of one of the Chromebooks and did a little writeup about putting a minimal Linux distribution on the machine via Crouton.
Crouton’s kind of neat: If you stick your Chromebook in developer mode, it opens up a minimal Linux environment you can further leverage to install a full Linux distro on the machine, side-by-side with ChromeOS. You can choose Debian, Ubuntu, or Kali.
My writeup was about Crouton’s two CLI environments, which let you run a “real” Linux without the overhead of a GUI. The Chromebooks are there to help you learn Linux so you can get a certification, and the certification testing is conducted in a command line environment: Might as well get used to it.
The initial writeup was supposed to be about booting the machine into Linux from an SD card or USB stick while retaining ChromeOS. This particular model doesn’t allow that, and there was the looming possibility of screwing up the instructions and bricking the machine; or, worse, doing a fine writeup of the process that would lead someone less careful to blithely brick their own machine. So I settled on “minimal CLI Crouton.”
Anyhow, a few thoughts:
Dell Chromebook 11 (Hardware)
It’s not bad! It weighs a bit over three pounds, has a comfortable, spill-resistant keyboard and a rubber bumper. It feels very sturdy and substantial.
The one thing I’m not a fan of is the 11″ display. I thought maybe it was me being spoiled by Retina displays, but it’s not: I compared it to an 11″ MacBook Air and it’s simply not that crisp. That’s exacerbated by Chrome/ChromeOS, which doesn’t have great type options and tends toward tiny type in the UI.
The keyboard is a little different from standard laptops. Google preferred to pretend function keys don’t exist, so you don’t see any “f1” etc. on the function key row. It’s all ChromeOS functions (forward/backward, reload, fullscreen, tile windows) and standard laptop controls (volume, brightness). On the other hand, those really are function keys. When you have the machine in developer mode, you can switch between ttys with them.
In lieu of a caps lock key, there’s a search key. In ChromeOS, it toggles a popup Google search/Chrome app launcher. There’s no command or Win key, either, so you get an extra large
ctrl key. That’s a bit cruel to an Emacs user: ChromeOS uses the more Win-style “CUA” bindings, so I spent a day or two using that giant ctrl key to accidentally “select all” rather than going to the beginning of a line.
When I compare the machine to the ASUS eeePC I bought several years back, it’s very nice. The keyboard is superior, the machine is more rugged, there’s more RAM and storage, and 11″ of screen feels capacious compared to the 8″ the eeePC had. It’s way easier to imagine this machine filling the use-case I had in mind when I bought the eeePC, which was “portable text-editing rig.”
I was a skeptic going in, but I gave myself a few days to try it out, and I’m beginning to get it. I can’t honestly consider adopting a Chromebook as my sole machine, but I can easily imagine taking one along for business travel in a Google-centric work environment.
I think squeezing the iPad into work situations made me more amenable to the Chromebook. You have to adopt a certain minimalist mindset to deal with their respective UIs. Pick up that skill for one, you can slip into it with the other.
So by the end of a week with ChromeOS, I was “just working.” The basic Google apps don’t change at all. There are a few things you can have on a Chromebook that you might be used to on a desktop machine in one form or another. A few things I found:
- There’s an Evernote app that works pretty well. I think it’s an Android app running on top of ChromeOS, so it doesn’t behave like a browser window. Drawback: Tiny type you can’t adjust.
- There’s a web-based Markdown editor called StackEdit that’s really well done. It can save to Google Drive, GitHub, WordPress, and Dropbox. It has a live preview and different themes. I’d have no qualms using it on the road.
- Skype and Slack have web apps that serve for the basics. Combined with Google’s chat app, I had a way to talk to everything in use at work.
I came to appreciate the limitations by the time it was all over. I could do just enough and not much more. We can take it as a measure of how much I liked it that I considered spending the computer allowance work gave me on a Google Chromebook Pixel. Knowing I could put Crouton on it to have a development environment was encouraging, but two things stopped me:
- Having a Chromebook in developer mode is a little inelegant. The manufacturer does not want you to do that, so every reboot greets you with a warning and you have this nagging sense that you’re an automatic update away from the stuff you did to build a Linux environment being taken away.
- I was able to actually play with a 12″ MacBook, and it won me over. I couldn’t find a Pixel anywhere in Portland, so it never had a chance to make its case in person.
In its own way, ChromeOS is Google making a comment about computing the way Apple does with iOS: Both would like you to consider the hardware comfortable and pleasant to use, but neither want you to really care about the hardware. They want you to care about the experience the hardware delivers.
“But Mike, Apple is a hardware company!”
Yeah, yeah … right. They sell hardware. I get that. But they don’t want you to care about what’s inside the case in terms of RAM or clock speed or whatever any more than it takes to help their customers spend as much as they’re willing to optimize the experience.
Google’s approach is maybe more utilitarian:
They want you to realize you could take your Chromebook down to the river, toss it in, order up another one from Amazon Prime Now, have it delivered to your door two hours later, and pick up where you left off. Where the most sensible accessories for MacBooks are padded cases and maybe a grippy protective shell, I can imagine a future where the most common accessory for a Chromebook is a little holder for disinfectant wipes so that people can swab down the one they found left out on a picnic table at a public park or next to a puddle of vomit in an Old Town alley.
“How’s that Chromebook you found?”
“Oh, it’s cool. The last guy replaced the escape key with a human tooth and there was some hair and clotted blood in the USB port, but when’s the last time I needed a thumb drive, right?”
“Ha ha right … Hold it … a tooth for an escape key? Oh shit! That’s the one I lost after Murray’s bachelor party last year! Man. Wonder where the hell it’s been?”
“Oh yeah? No telling. Want it back? I found another one out on the curb this morning.”
“No, it’s cool … that one was just my clubbing one.”
Okay, that’s overstating the case. Dell just released a 13″ Chromebook that could properly be called a “business machine.” Nobody’s IT department will be happy if one ends up in the river, or left on a playground. But the i3 model is pretty inexpensive and very capable. The i5 model is pricier, but I bet it’s way less frustrating than a comparably priced Windows machine in terms of perceived speed. Maybe more importantly to an IT department, nothing lives on those things. So if one does end up in the river or gets left behind on the bus, it’s a little less costly to replace the hardware and the data doesn’t have to be “put back.” Just pull one off the shelf and slide it across the counter.
Linux on the Dell Chromebook 11
I was feeling a little poorly over not being able to try out the (somewhat scary) “flash a more flexible BIOS, turn it into a ‘real’ Linux machine” approach. I mean, it wasn’t something I wanted someone trying on my advice. I felt poorly about it because my curiosity was thwarted. I set about to fix that this morning and it was pretty simple!
- Pick the distro you’ll want to stick on the machine. I went with Ubuntu and used the UNetbootIn app to burn the install CD to an SD card.
- Crack open the case and void your warranty to remove a write-protect screw that’s designed to keep you from overwriting the BIOS. See the picture above for where to find it. Put it somewhere safe, I guess, against the day you want to restore the Chromebook to its pristine state. I kind of love the physical hardware aspect of the operation. There’s something deeply psychologically unsettling about knowing the machine you’re holding is literally missing a screw that you took out of it. I like to think they settled on the write protect screw after testing “make the user crush an ampule of cat urine over the keyboard” and deciding that sourcing cat urine would be cost prohibitive.
- Put the machine in developer mode. There’s a little fussing and it takes some time (they just don’t want you to do it), but it’s a simple process. At this point, if you reboot the machine it will give you this warning screen and provide you with an easy way to get back to “normal.” The screen is a clean white, and there are no sounds of screaming at bootup because that would be bad UX, and because it reduces the chances of you loaning the machine to someone who literally just taps the spacebar at boot to wipe out all your customizations.
- This step is dangerous. If opening the case and removing a screw didn’t deter you, this is probably the best point at which to pause and ask whether turning your Chromebook into a dedicated Linux machine really matters. Download and run a shell script that flashes the ROM with SeaBIOS. That will allow you to boot from a USB stick or SD card to run a Linux installer. With the Dell Chromebook 11, this is an all-or-nothing situation. Some Chromebooks let you dual-boot between ChromeOS and something else; this one does not. If you screw it up, you’ll risk bricking the machine.
- Reboot from the SD card or USB stick you burned in step 1 and run the installer.
Once you do all that, you have the basics: The machine boots into Linux, can talk to the network, and generally “works.” There’s no sound, the trackpad is sort of weird, and the special function keys don’t work. You can take steps to fix all that. Here’s a starting point, none of which have I attempted: I made the machine boot into Linux because I wanted to see what would happen.
What happened was pretty anticlimactic:
rbenv, Emacs, zsh and git are all just an
apt-get install away. GNOME is GNOME. Firefox was just sitting there, and I used it to Google “john lewis restore chromebook stock ROM.” Then I downloaded the script I used to flash a new BIOS in the first place, told it to please restore me to the stock ROM, and let the Chromebook boot into its recovery media (which I made last week before I started screwing around with the machine). I’m pretty sure I’m not even going to bother putting it into developer mode again, and I need to put that screw back in place once it’s done reinstalling ChromeOS … It’s sitting there on my desk bothering the hell out of me.
Linux Anywhere But the Dell Chromebook 11
Why not even put it in developer mode?
Because I don’t have to. I’ve already got two Linux machines (one I own, one I rent via shared hosting). It turns out Chrome has pretty decent ssh client you can use, and I did for the week I was playing around with ChromeOS and doing that writeup. Stick the ssh client tab in full-screen mode, and it looks about like the ssh client in full-screen mode looks under GNOME, Unity, OS X, or my iPad.
The thing you get from developer mode/Crouton is offline availability of that more robust environment. If I traveled a lot, that would matter. As it is, I’m almost never disconnected. If there’s not Wi-Fi, my phone is a serviceable hotspot. The “little CLI workstation with Emacs and Ruby” is never far away. It just happens to be running somewhere else. That’s kind of the point of the thing.