Tags: Chromebook »»»» ChromeOS »»»» Skype »»»» Ubuntu »»»» Crouton
Chromebooks offer respite from antivirus software hassles, system maintenance hassles, and more. The idea is that with the Chrome web browser as the only user interface, people can compute in safety. But what about the whole slew of existing software that runs outside web browsers - Skype being just one example. What about video or audio editing? What about traditional word processors or spreadsheet applications? None of those run inside a web browser. Yet. For a long period of time the only way to install Skype involved installing Crouton, the add-on supporting Linux software as described below. Since this was originally posted in Feb 2014, Microsoft released an official Skype for Chromebooks. However, Crouton is still useful because of the need for other software such as Gimp, for image manipulation.
UPDATE March 30, 2017: Some time ago (I forget when), Microsoft fixed https://web.skype.com (the Web-based Skype service) to support ChromeOS devices. If your purpose is to run Skype, on a Chromebook, then simply go to web.skype.com and log into your account and Skype-away. It's so easy compared to what was formerly required.
On the other hand, the information below is very useful if your needs include running various sorts of Linux software. While web-based image editors exist, they aren't the same as desktop image editors like The Gimp. Ditto for movie editing software. And then there's the whole arena of software development tools like compilers, and while I've used Chromebooks to remotely access command-line developer tools, I spent almost a year using ChromeOS exclusively in place of my MacBook Pro for a whole gamut of tasks including software development.
As noted in the follow-up blog post, Google is moving forward with integrating Android into ChromeOS. That will eliminate many of the reasons to install Crouton, because of high quality image or video editors or other apps for Android will now run on ChromeOS devices.
/END UPDATE
Whatever the reason - Skype is not available as a Chrome app. Neither are other things like normal photo/video editing applications. Yes, Google Hangouts offer more functionality than Skype, but what if your friends only use Skype? Or Yahoo Messenger? And what if you really need to do real video editing? There are a couple in-browser video editing applications, but they're limited.
The next problem is - Chromebooks run Linux under the cover, and while there is a version of Skype for Linux it cannot be installed on Chromebooks. Why? Because Chromebooks only allow use of Chrome, you cannot install Linux apps on the system.
The cure is to slightly break the Chromebook model, put the Chromebook into Developer Mode, and install a package called Crouton enabling you to run a full Linux alongside the ChromeOS user interface.
Alternatives
Before taking these steps it's worth pondering the alternatives. Installing Skype et al means subverting the main selling point of ChromeOS, the simplified safer user experience of a locked-down web browser. What can we do inside the web browser that's equivalent to the tasks we have in mind?
Skype, Yahoo Messenger, ooVoo and other video chat :-
- According to a posting on the Skype forum, it seems Skype is working on a Chrome app -- UPDATE: As noted above, what Microsoft/Skype developed is support in https://web.skype.com
- For Yahoo Messenger chat, you can log into Yahoo Mail and there is a chat function, but it doesn't support video/audio conversations
- There is a Chrome app for ooVoo, but it cannot be installed on Chromebooks
- Google Hangouts and Google Voice together provide the same functionality as Skype
Photo / Video editing:- There are various Chrome app's in this space, such as Pixlr or WeVideo. I've taken a look at them, and while they might be usable, they're not the same as Photoshop or Final Cut.
Word Processing:- There are lots of solutions for word processing inside a web browser. First, for some writing needs you can type content directly into a content management system, as I am doing right now. But what about doing regular word processor tasks like documents, spreadsheets and presentations? Chromebooks come bundled with, you guessed it, Google Docs and Google Drive. There's also Zoho Docs if you don't trust Google.
E-Mail:- There's a whole slew of in-browser email solutions available - like, well, Google Mail.
Putting a Chromebook into Developer Mode
Developer Mode unravels some of the protections that make ChromeOS attractive for regular people. It's meant to be used by developers, so they can get under the covers of the system while debugging ChromeOS software.
The Crouton package is meant to be installed in a Chromebook that's running in Developer Mode. It lets one install a variety of Linux systems inside a "chroot", which is a lightweight form of virtualization.
Each Chromebook has its own way to get into developer mode, for example on some you flip a switch. The ChromeOS website has instructions for every Chromebook model. On most you follow this procedure:
To enter Developer mode you first invoke Recovery mode. To invoke Recovery Mode, hold down the ESC and Refresh (F3) keys and poke the Power button. On the Recovery screen, press Ctrl-D (there's no prompt - you have to know to do it). It will ask you to confirm, then reboot into Developer mode. While in Developer mode, your system will show a scary "OS Verification is OFF" boot screen and you need to press Ctrl-D or wait 30 seconds to continue booting.
Switching to Developer mode wipes out local data, and it says so very prominently during the process.
Every time you turn the computer on, it's going to force you to look at the screen saying "OS Verification is OFF" to remind you this computer doesn't have the normal ChromeOS protections.
"Wiping out local data" sounds a little scary
What does that mean? It means the storage is wiped, and a fresh ChromeOS is installed. If you'd downloaded any files, they'll be wiped out. Most importantly is the Chrome app's and extensions you might have installed. What happens to them?
Turns out that a core ChromeOS function is that it is automatically sync'd to "the cloud". You log into a Chromebook by using your Google Account. Some of the data on the Chromebook is automatically sync'd (backed up) to that Google Account.
When you wipe out the Chromebook, that data is automatically sync'd back to the Chromebook. Most importantly, all the app's and extensions are brought back to the Chromebook. But any configuration done to those apps or extensions are lost, as are any files on local storage.
Installing Crouton
As I said, Crouton (the Chromium OS Universal Chroot Environment), lets you run Ubuntu alongside ChromeOS. It's also possible to install straight-up Linux on a Chromebook using ChrUbuntu, but I wasn't able to find good instructions on this. In any case, I am desiring to use ChromeOS as the primary environment, and supplement it with a regular Linux for things that ChromeOS doesn't do well - like Skype.
First, while in Chrome, type CTRL-ALT-T - when in Developer Mode this starts "crosh" or the ChromeOS Shell. You can start as many crosh sessions as you like, and for example it directly supports ssh enabling you to ssh out to a bunch of servers if needed. But for our purposes type in "shell" to enter a regular Linux shell environment.
Next, download the Crouton script from here: http://goo.gl/fd3zc
It'll create a script in the Downloads directory, which you execute as so: sh -e ~/Downloads/crouton
(which gives you help text)
The crouton script has a lot of options .. the quick one is this: sudo sh -e ~/Downloads/crouton -t xfce
This installs Ubuntu 12.04 (as of this moment - that's the latest Ubuntu LTS release), using the xfce environment.
You can select different distro's using the -r option. Several Debian and Ubuntu releases are available: sudo sh -e ~/Downloads/crouton -r list
You can select different user environments with the -t option. For example, the -t cli-extra
option installs only command line tools. sudo sh -e ~/Downloads/crouton -t list
What I did for myself, and my girlfriend, is: sudo sh -e ~/Downloads/crouton -r saucy -t xfce
This takes a long time as it downloads a bunch of stuff off Ubuntu's servers. Once finished you can jump right into Ubuntu this way: sudo startxfce4
You can also enter the chroot directly in the crosh window, without entering the xfce environment: sudo enter-chroot
Switching screens
After typing sudo startxfce4
the screen immediately jumps to the Ubuntu/XFCE screen. It helps to know that Linux has several virtual terminals accessed via function keys. ChromeOS is visible on the first virtual terminal, a character login prompt is on the second virtual terminal, and the XFCE session is on the third. If you proceed to the other virtual terminal screens you'll find some kind of system logging output.
How do you get back to ChromeOS? Simple - CTRL-ALT-left-arrow (the left arrow on the top row of keys). That top row of keys corresponds to function keys on a normal keyboard.
How do you get to the Ubuntu session? That's also pretty simple, but a bit trickier. Supposedly you type CTRL-ALT-refresh-key (the function key with the circular arrow). But, on my Acer C720, you can't get directly to the Ubuntu terminal that way. What I do first is CTRL-ALT-right-arrow, then CTRL-ALT-refresh.
You can keep using CTRL-ALT with the other function keys and find other virtual terminals that might be fun.
Configuring Ubuntu, installing Skype
The Ubuntu that's installed is pretty trimmed down. Fortunately everything is just an apt-get away. By the way, the Synaptic package manager isn't even installed.
A quick note is that some Chromebooks use an ARM processor, while others use x86. If you're on ARM the choices of applications will be slim. The Acer C720 has an x86 processor, giving you free choice among the full catalog of Ubuntu applications.
It's very important to turn off the Linux screen saver, if running under xfce, to avoid some problems.
This will install some useful software: sudo apt-get install gedit vlc ubuntu-restricted-extras ttf-ubuntu-font-family software-center synaptic
You can run the software-center to explore other software to install: gksu software-center
With that running you can explore the whole world of available software.
Installing Skype is done outside of the official mechanism. You go to http://skype.com, click on the Downloads link, then make sure you're downloading Skype for Linux. You choose the distribution, and in this case your choice is "Ubuntu 12.04". This gives you a file whose name ends in ".deb" in the Downloads directory.
Your mileage may vary depending on the exact Linux release you installed. For Ubuntu with XFCE, to browse the filesystem there is an icon at the bottom of the screen which looks like a filing cabinet. Click on that, then navigate to the Downloads directory. Simply right-click on the .deb file, and it will offer to open it in the GDebi Package Installer. Go through that installation process - and then Skype will show up on the system menu.
Another interesting option is to install Wine, and then you'll be able to run Windows applications.
In any case, the Linux version of Skype is really old - from the version 4 days - and doesn't have all the modern features. But it is Skype, and does make video calls etc.
Word processing? Libre Office, installed through usual mechanisms like: apt-get install libreoffice
Video? I've heard kdenlive is good
Photo's? I've heard Gimp is good
Databases? Web servers? It's not possible to install background processes on ChromeOS/Crouton, because of limitations of what you can do inside the Crouton container. These processes can be run in the foreground of a terminal session, just not as a daemon process automatically launched in the background.