How To Install Cinnamon Desktop On A Chromebook With Crouton

Crouton allows installing Ubuntu or Debian in a chroot environment on any Chromebook model, without removing Chrome OS.

You can read more about Crouton and installing Ubuntu on a Chromebook using it in an article I posted a while back: How To Install Ubuntu Linux On Any Chromebook Model Without Replacing Chrome OS (Crouton)

Crouton used to have a target which allowed easy Cinnamon installation, but that's no longer available. Installing Cinnamon desktop on a Chromebook using Crouton is still possible, and this article guides you through this process. 

Cinnamon chromebook crouton
Cinnamon installed on a Chromebook using Crouton (in Ubuntu 18.04)

Cinnamon is a desktop environment that's derived from Gnome 3 but using a traditional desktop layout, being the main desktop environment of the Linux Mint distribution. Since Crouton doesn't support Linux Mint, Ubuntu 18.04 (Bionic Beaver) will be used as the Linux distribution on top of which we'll install Cinnamon desktop.

Related: Crouton: How To Run Linux Applications In Chrome OS Windows Or Browser Tabs (Chromebook)

Install Cinnamon on a Chromebook with Crouton (Ubuntu 18.04)


Note: if you close tab in which you run the commands below, remember to type shell after pressing Ctrl + Alt + T or else the commands won't work (you need to type shell if the prompt looks like this: crosh>).

This article assumes you've already switched your Chromebook to developer mode and you've downloaded Crouton in your Chromebook's Downloads folder. See this article for a complete guide on installing Ubuntu on a Chromebook using Crouton.

1. Install some basic Crouton targets in a new Cinnamon chroot using bionic (Ubuntu 18.04) as the Ubuntu version.

Installing Cinnamon crouton chromebook

In Chrome OS press Ctrl + Alt + T to open the crosh shell as a new tab in Chrome, then type:

shell

Next, install the Crouton executable (which should have been downloaded in your Downloads folder):

sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton

Now use the following command to create a Cinnamon chroot and install the core, cli-extra, xorg, keyboard, audio and extension targets for Ubuntu 18.04 (bionic):

sudo crouton -n cinnamon -r bionic -t core,cli-extra,xorg,keyboard,audio,extension

You can skip the keyboard, audio and extension targets but you may need them in the future (you can add them later on though).

We're using bionic because it has a more up to date Cinnamon version. It's still not the latest version though, but you could use a PPA to install an even newer version. But for this guide we'll stick to the Cinnamon version provided by Ubuntu 18.04 Bionic Beaver. The default Crouton target uses Ubuntu 16.04 (Xenial Xerus), which has Cinnamon 2.8.6, released back in 2015.

2. Install Cinnamon in the new "cinnamon" chroot

Use this command to enter the cinnamon chroot created in step 1:

sudo enter-chroot -n cinnamon

And now type the following command to install the Cinnamon desktop and dbus-x11:

sudo apt install cinnamon dbus-x11 xterm

It may take quite a while until Cinnamon is installed, so go grab a cup of coffee... or two. You could also install the complete Cinnamon desktop, as available in the Ubuntu 18.04 repositories (this does not work if you use a PPA), by installing the cinnamon-desktop-environment package, but that will result in a very long installation time and a lot of extra packages being installed.

It's important to mention that installing dbus-x11 is very important - without it, you'll see an error when trying to start Cinnamon, which says "Could not connect to session bus: usr/bin/dbus-launch terminated abnormally without any error message".

Also, the command installs XTerm because the Gnome Terminal app that's installed with Cinnamon doesn't start. So later on when you want to launch a terminal your Cinnamon desktop, launch XTerm instead of Gnome Terminal. You can also install Tilix or some other terminal emulator.

3. Setting up a script to start Cinnamon

Assuming you're still in the Cinnamon chroot (if not, type sudo enter-chroot -n cinnamon), type the following:

echo "exec cinnamon-session" > ~/.xinitrc

Next, while still being in the chroot, use this command to download a script that starts Cinnamon (you can inspect it here) in the Downloads folder, and make it executable:

cd ~/Downloads

wget https://gist.githubusercontent.com/logix2/4d877912dcde328daf629826b4fd4fc9/raw/c612616e89b53591b04594f83ad9f0c7c1b232b8/startcinnamon

chmod +x startcinnamon

And exit the chroot:

exit

Now in Chrome OS, use this command to copy the startcinnamon script to /usr/local/bin:

sudo cp ~/Downloads/startcinnamon /usr/local/bin/

The Downloads folder is shared between Chrome OS and the chroot, that's why you can copy the startcinnamon script on Chrome OS, even though it was downloaded in the Cinnamon chroot. We've downloaded it by using the chroot so we cam use wget.

The Cinnamon start instructions are based on Tenn1518's crouton-cinnamon repo.

4. Starting Cinnamon

Now you can start Cinnamon by typing:

sudo startcinnamon

If you've closed the tab from your Chrome OS browser, open a new crosh tab by pressing Ctrl + Alt + T, type shell, followed by sudo startcinnamon on a new line. This is how you'll start Cinnamon from now on.

Switch between Chrome OS and Cinnamon by using Ctrl + Alt + Shift + Back and Ctrl + Alt + Shift + Forward. This way you switch between Ubuntu / Cinnamon and Chrome OS without exiting Ubuntu.

To exit Cinnamon / Ubuntu, log out from the menu present on the Cinnamon panel.

Tweaking Cinnamon running on a Chromebook with Crouton


1. Installing some basic applications

Cinnamon is pretty bare-bone when installed on a Chromebook. You get Nemo, the default Cinnamon file manager, but quite a few essential applications are missing.

Let's install some important applications. Start Cinnamon, open XTerm (or some other terminal emulator that you've installed, but not Gnome Terminal because, like I explained above, it doesn't start) and use this command to install Ubuntu Software Center (Gnome Software), a graphical text editor (Gedit), a command line text editor (nano), image viewer (Eye of Gnome), video player (VLC), Gnome System Monitor (for viewing CPU/memory usage, etc.) and software-properties-common (so you can add PPA repositories):

sudo apt install gnome-software gedit nano eog vlc gnome-system-monitor software-properties-common

It's worth noting that Cinnamon now uses its own fork of some Gnome applications, but those are not available in the Ubuntu repositories (except Nemo file manager).

You won't be able to launch the Software application, used to install additional software, from the Cinnamon menu. Instead, open a terminal and launch it using this command:

sudo -H gnome-software

If the application doesn't list applications, try to restart Cinnamon. On my Cinnamon Crouton installation, Gnome Software doesn't show any applications on its homepage, but the category pages do list applications, and the search works as well.

Gnome Software app

You can use Gnome Software to install "traditional" DEB packages from the Ubuntu repositories or from PPA repositories, but it can be used to install Snap or Flatpak packages. Such packages can't be currently installed if you're using Crouton.

There's also an alternative. You can use Synaptic as a graphical tool to install additional software. You can install it using:

sudo apt install synaptic

Synaptic too must be started from a terminal, like this:

sudo -H synaptic

2. Install and use some extra themes

Default theme used after a bare-bone Cinnamon installation in Ubuntu 18.04:


Cinnamon running on a Chromebook, using Numix GTK theme (for window borders and controls) and Moka icon theme:


If you don't like the default applications and icon theme, you can install some more. This commands installs a couple of Gtk as well as icon themes:

sudo apt install numix-gtk-theme greybird-gtk-theme suru-icon-theme moka-icon-theme

You can now use one of these themes by going to the menu > System Settings > Themes, and changing the Window borders, Controls and Icon themes.

How to uninstall (delete) Cinnamon from your Chromebook


In Chrome OS press Ctrl + Alt + T, then type:

shell

Now you can use the command that follows to delete the Cinnamon chroot (assuming you used the "cinnamon" chroot name, as used in the instructions from this article):

sudo delete-chroot cinnamon