Recently, I was in the market for a new, personal laptop. I wanted something that would run Linux well. For about a decade, I’ve been installing and using Linux on my laptops, but WiFi has always been a hassle. Typically, there has always been some sort of issue with the network card’s driver which caused it to only half support Linux. This would result in hours spent resolving the issue. Often, I would end up having to buy a USB-based WiFi network card that I knew was supported by Linux.
It was my wife who suggested I buy a Chromebook. Though not a proper Linux machine, the idea of a light-weight, thin-client running a browser and little else had an appeal for me. I actually don’t use my laptop for much else other than surfing the web and SSH’ing into other machines. So, since there is an SSH client plugin for Chrome, I thought I would give a Chromebook a try. Also, I reasoned, if it didn’t work out, I could always install Linux on it. After all, Chrome OS is based on the Linux kernel so there shouldn’t be any issues with running pure Linux on it.
I ended up purchasing the Acer Chromebook 15. I like this machine a lot. It’s got two speakers on either side as tall as a hand and the width of two fingers. This is great for watching movies or listening to music. (On my other laptops, I’ve always needed headphones in order to properly hear speech or music.) It’s also very light-weight — probably because of the SSD hard-drive. The battery-life is terrific and the laptop has a good look and feel to it. It’s also fast – much faster than my older machines which often made simple web browsing painfully slow.
I do have several complaints about the user interface aspects of the hardware. For one, the mousepad is positioned in a way that makes it inevitable that it will get tapped accidentally. As I write this in a WYSIWYG editor, I’m constantly noticing that the cursor has been moved which causes me to inadvertently type in different sections of the text. Another irritant is that there is no caps lock button — it has been replaced by a magnifying glass button — I guess so you can Google things faster. I don’t know what the consensus is on caps lock buttons, but I rely on them and I wish this laptop came with one. Also, the function keys have been replaced by special, Chromebook keys.
It’s pretty amazing to interact with this OS. It’s essentially on as soon as you hit the power button. Once on, you log in with your Google credentials. Then you set your keyboard layout, connect to your WiFi, and you’re ready to surf the web. I like Chrome, but prefer Firefox for its Awesome Bar. However, in this instance, I was willing to make a comprise.
My next task was to ensure I could get the aforementioned, browser-based, SSH client working. This is a good piece of software from what I was able to tell. However, after editing source code on a remote server, I became aware that there is a major issue with the concept of a browser-based SSH clients: key bindings. For example, I noticed that when I used CTRL-W to change windows in Vim, I was also telling Chrome I wanted to close the tab. I found a workaround for that, but then, when I tried CTRL-D to exit a shell, I realized I was telling Chrome I wanted to bookmark the current page. At that point, I realized that I was going down a rabbit’s hole of hacks I would have to make to Vim, Bash, etc., and that I should abandon Chrome OS and install Linux.
Installing Linux on Chromebooks is interesting. You actually don’t defenestrate Chrome OS; you run both operating systems at the same time (glad I got 4GB of RAM instead of 2GB), and you can switch between them swiftly with a hotkey.
When I say you run both OS’s at the same time, I’m not talking about a virtual machine. Rather, you run Linux from Chrome OS using chroot. This is all made possible by a piece of software called Crouton.
Anyway, installing Linux on a Chrome OS is a fast, straightforward process. I recommend this tutorial. However, it is a little outdated since Crouton now supports Trusty Tahr, so once Ubuntu has been installed, remember to install it with this command.
sudo sh ~/Downloads/crouton -r trusty -t xfce
You have the option of installing Xfce or Unity. I choose Xfce and that consumes pretty much all of my 4GB of RAM. (I wanted to use Ratpoison but that doesn’t appear to be supported.)
After tweaking Xfce to meet my needs, I now have a beautiful installation of Linux and Chrome OS on a very capable laptop. I code and surf in Linux and I use Chrome OS for watching Hulu, Netflix, etc. Chrome OS is more convenient for this kind of thing because it doesn’t have the hangups about DRM and Flash that Firefox and Linux do. Chrome OS is also needed for managing WiFi connections which I have not had any issues with.
For the Linux lover, Chromebooks provide an solution which is both awkward and elegant. A complete Linux experience can be had with WiFi being competently managed by Chrome OS. For DRM media offerings like Netflix and Hulu, the user can easily switch to Chrome OS for hassle-free viewing. However, little RAM is left and the small SSD hard-drive is as fast as it is limited in its storage capacity.