Chromebooks are pretty darn handy. Even some hardcore Windows users now acknowledge that a Chromebook might be just what you need for work. But, as great as Chromebooks are, and as much progress as Google has made in getting "Web-only" apps such as Google Docs to work offline, there are still times that you want an application that's only available off-line such as the LibreOffice office suite or the GIMP photo editor. For those times, it's darn handy to be able to run a Linux desktop on a Chromebook.
It's been possible to do that, thanks to the Chromium OS Universal Chroot Environment (Crouton), for some time. But, what you couldn't do was have a Linux desktop, such as Ubuntu or Debian, on the same screen while you were running Chrome OS.
Now you can.
Thanks to Google's Chrome OS team, you can run a Linux desktop within a window on Chrome OS using a Chrome extension called Crouton Integration. This makes using Linux, and its thousands of applications, much easier. It also adds the ability to use Chrome's inherent Web browser instead of the Linux distribution's native browser and to synchronize the Chrome OS and Linux clipboards.
In short, Crouton is better than ever and the combination of Linux and Chrome OS is very powerful. Here's how you go about liberating that power.
What you need to run Linux and Chrome OS at the same time.
You can run either Linux or Chrome OS on most Chromebooks without any trouble. However, I wouldn't want to try to run them together on an older Chromebook or an ARM-powered one. Oh, you can certainly do it, but chances are you'll be disappointed with how slow it runs.
The same is true if you're running both operating systems simultaneously on a system with 2GBs of RAM or a 16GB SSD. Again, you can do it, but I don’t think you’ll care much for the experience. In addition, since the whole point of Crouton Integration is to go easily go back and forth between a Linux distro and Chrome OS you'll also want a Chromebook with a good-sized screen.
But to really get the most from running both Linux and Chrome OS I think you'll want a late-model, Intel-powered Chromebook with 4GBs of RAM and a 32GB SSD or larger hard drive. For my tests, I used my Rolls-Royce of Chromebooks, the Chromebook Pixel.
You don't need to spend that kind of money though. Reasonably priced Chromebooks such as the ASUS Chromebook 13-Inch HD, HP Chromebook 14 G3, or Samsung Chromebook 2 should all do just fine.
How it works
What you'll end up doing is using Crouton, which is a set of scripts, to use the Linux command chroot (Change Root) to simultaneously run a Linux operating system alongside Chrome OS.
Chroot was meant for Linux administrators to easily fix problems while running as the root, superuser, without logging off the current user. Here, it's being used to run a primitive form of container. It has neither the sophistication of a virtual machine (VM) or an advanced container such as Docker or Google lmctfy.
What Chroot has going for it is that it's very lightweight and is present on almost all versions of Linux, including Chrome OS. Its downside is that in this mode users have a great deal of power over their system. So, if you elect to do this be careful not to do foolish things with your Chromebook such as that all-time Linux and Unix bonehead move of running "rm -rf" from a Linux shell.
Installing Linux on your Chromebook
This process is going to take at least an hour so be sure to have your Chromebook plugged in. You do not want to run out of power halfway through.
Your first step is to enable "Developer Mode" on your Chromebook. The exact method varies from system to system so be certain to check out the Developer information for Chrome OS Device page to start tracking down the right way to go into Developer Mode. Most newer Chromebooks will let you do this by enable the Developer Mode by holding down the Esc and Refresh keys and then pressing the power button for a second.
This operation is not for the faint of heart. As Google warns you, "Modifications you make to the system are not supported by Google, may cause hardware, software or security issues and may void warranty." You will also lose any local files, such as those in your Downloads directory.
This done you'll need to reboot your Chromebook. Instead of the normal screen, you'll see the recovery screen saying that Chrome OS is missing or damaged. Do not panic. This is normal. At this screen press Ctrl and D, agree to continue, and you'll be on your way to Developer Mode. You'll get one more screen telling you that your system is getting ready for Developer Mode. This screen will stay in place as it clears your drive and gets it ready for a fresh Developer Mode install of Chrome OS.
This reboot will take much longer than your usual Chromebook reboot. At the very top of your screen you may see a small progress bar letting you know that your Chromebook is on its way to Developer Mode.
Once this is done, reboot again. You'll see another scary message this one telling you that OS verification is OFF. Don't worry about it. Instead go ahead and let the boot continue. It will take longer than you expect, about 30-seconds, but that's normal.
You'll need to reconnect to your Wi-Fi network and Google and log into Chrome OS again. Then go to the Chrome play store and install the Crouton Integration extension. That done, download the latest version of Crouton from Crouton's GitHub page.
Once you've downloaded all the Crouton software, invoke Chrome OS's limited terminal, crosh, by pressing Ctrl, Alt, and the letter T at the same time. From here, you must move to a full bash shell by running the command, "shell. "
Run the following shell command to see what versions of Linux Crouton currently supports. Be sure to enter this command, and the others that follow, exactly. In Linux shell commands, spacing and capitalization are all of vital importance.
sudo sh -e ~/Downloads/crouton -r list
At this time, Crouton offers supports for multiple versions of Debian; Kali, a hacker's Linux; and Ubuntu. You also can choose between combinations of Linux distributions and desktops. For example, Ubuntu on Crouton currently comes with a choice of KDE Plasma, Unity and Xfce.
For this story I decided to install Ubuntu 14.04.1, Trusty Tahr, the newest long term support version of the operating system. To do this, I run the command:
sudo sh -e ~/Downloads/crouton -r trusty -t xfce,touch,xiwi -e
Here's what's going on in the above command: First, I'm explicitly running the command as the root user "sudo." Then I'm telling the command to exit if there's a mistake. "-e." Next, I'm telling it to run the Crouton script with the following flags: "-r" tells the program which specific Linux release I want to install and "t" tells it what desktop I want to use (the lightweight Xfce desktop), that I have a touch screen and "xiwi" tells it I want it to run within a window. Finally, because chroot has no security at all by itself, I use the second "-e" command to encrypt it.
During the installation you'll be asked for two passwords. The first is for the chroot itself and the second is for the operating system. You'll also be asked to move your screen pointer around to help generate the chroot's encryption. Crouton will then download and install the operating system with the selected options.
After it's installed, which will take at least 15 minutes, you start running your new Linux from the full shell terminal with two commands. First,
sudo enter-chroot
startxfce4
You'll now be running Ubuntu 14.04 side-by-side with Chrome OS.
This new Ubuntu session will last until you either log out or turn off your Chromebook. If you reboot your Chromebook, you'll need to bring up a Bash shell terminal and restart the chroot session and Ubuntu again.
This is a bare-bones installation. You'll want to add your favorite desktop apps to it using the Ubuntu Software Center. For me, that meant adding LibreOffice, GIMP, and the Bluefish programming editor.
That's all there is to it. Once you have your Linux running the way you want, you can use Chrome OS and Linux running in tandem. I think you'll find it a very powerful combination. I know I have.