Linux Apps on ChromeOS

Google Chrome

In this series of articles, the author, who likes to explore different software and hardware devices, outlines his experiences with Linux apps on a Chromebook.

I normally buy a netbook and replace the disk with a solid-state drive. The original disk is used as an external USB drive. The configuration is a 28cm screen, 2GB RAM and the device weighs just over a kilo.

This time I came across a Chromebook with a 35.5cm display and 4GB RAM. Although the disk is a mere 32GB, there were rumours of Linux apps being made available on Chromebooks. The weight is just a kilogram and the battery lasts up to ten hours. This seemed like a good option to try out.

Although the hardware is the same as that of a laptop, the firmware needs to be replaced if you want to install Linux natively. The alternate firmware should be available for your Chromebook. I did not consider that option.

I used Crouton to install Ubuntu on the Chromebook. The major disadvantage is that Ubuntu runs in a virtual machine. The ChromeOS and Linux environments are separate. Switching between the two is clumsy.

Linux apps on ChromeOS

With ChromeOS 70, Linux apps are available on the Chromebook I have. One needs to enable Linux apps. Chrome OS downloads and installs the Linux container and a Linux terminal app. You can now use the Debian apt-get command to install whatever Linux apps you may need.

A bare minimum explanation of what the Linux container installation involves is as follows – from the documentation at

  • Crostini is the umbrella term for making Linux application support easy-to-use and integrate well with Chrome OS. It largely focuses on getting you a terminal with a container, with easy access to install whatever developer-focused tools you might want.
  • Terminal is a VM image with a stripped-down Chrome OS Linux kernel and userland tools. Its only goal is to boot up as quickly as possible and start running containers. Many of the programs/tools are customised here.

I needed LibreOffice, GNUCash and a few solitaire games. For financial transactions, I am more comfortable with Firefox. The repository contains firefox-esr; so I installed that as well.

Each Linux app runs in a window in the Chrome OS environment. So, it is easy to switch between Chrome and Linux applications. It reminded me of running remote Linux applications using the $ ssh -X user@host application-command.

The Linux container is private for a Chrome user. If you have multiple users on Chromebook, each one will need to have his or her own Linux environment.


Powering on a Chromebook is very fast. Using a Linux app is just like using a ChromeOS app. The common ones may be pinned to the shelf (taskbar). The first Linux app you start takes a while as it has to start the Linux container/VM image and then the application. Text copy/paste works across the Chrome and Linux app windows as well. More data types are likely to be supported across the environments. The Chrome file manager lets you see the files in the Linux virtual machine as well, and you may copy/move files.

However, you cannot start a Linux app from within the Chrome file manager. So, a file manager in the Linux environment is also useful. The Linux file browser will see only the files in the Linux virtual machine.

A user’s files on Chrome OS are mapped to the Google Drive of the user. The one exception is the Downloads folder. So, the Linux environment can also access a user’s files via Google Drive. It is expected that with folders in the Downloads directory, one may get the option to ‘Share with Linux’ soon. That may reduce the need to manually copy or move files between the two environments.

One habit I needed to form was the two finger tap for right-clicking, as that is the only way I can get a right-click on the Chromebook that I have.


The storage of 32GB is minimal by the standards of today, though it is more than enough for people accustomed to working with cloud storage, which I am not. On the Linux netbooks, using an external USB drive made it possible to work with considerable local disk storage when needed. Unfortunately, ChromeOS does not recognise ext4 or other Linux-specific filesystems on removable media. Hence, my external USB disk is not of much use with a Chromebook, even in the Linux environment.

However, Chrome OS has the option to access network file systems using Samba or SSH, and that can be helpful if one needs more storage. The same options can be helpful from the Linux environment as well.

Overall, this is a very attractive option for a person not needing a powerful laptop. The reason for not recognising Linux based partitions on a USB drive is hard to understand. Now that Linux apps have become available, it would not be surprising if all the filesystems that can be mounted on USB drives on Linux are available on Chromebook as well. Meanwhile, I will just copy and carry the files I may need on a DOS formatted USB stick.


Please enter your comment!
Please enter your name here