For the longest time, developers have taken Chrome OS machines and run different third party tools to turn them into Linux-based developer machines. Though that would have been stressful but may actually work, however, with the needs to enable developer mode which carries potential security risks, it is quite a challenging task.
Things are now easier with the ability to run Linux apps on your Chrome OS machine. Linux apps now can run in a Chromebook’s Chrome OS environment officially. However, the process can be tricky, and it depends on your hardware’s design and Google’s whims.
It is somewhat similar to running Android apps on your Chromebook. Still, running Linux apps on a Chromebook will not replace the Chrome OS. The apps run in an isolated virtual machine without a Linux desktop.
Google is going to start shipping Chrome OS with a custom virtual machine that runs Debian Stretch, the current stable version of the operating system.
The feature is officially called Crostini inside Google, a way of running Linux programs in secure containers so the overall security of Chrome OS, which is one of the key selling points of Chromebooks isn’t compromised in any way (the default Linux container that Crostini installs is Debian). It’s the same way that Android apps work on Chromebooks.
And Crostini is following the same path as support for Android apps did: slow, steady steps forward, with a lot of bugs and inconsistencies along the way. Now though, Crostini has arrived in the stable channel of Chrome OS as an optional feature, and it’s almost ready for prime time.
The Crostini technology installs a base level of Linux to run KVM, Linux’s built-in virtual machine (VM), starts and runs LXC containers. It runs enough of Debian Linux to support a running Linux app in each container.
The Crostini technology lets compatible Chromebooks run a completely integrated Linux session in a VM that lets a Linux app run. This latest solution does not require Crouton and Developer Mode. However, the particular Chromebook getting the Linux Apps installation might need to change modes to either Beta or Developer channels.
With the help of Crostini, the Chrome OS creates an icon launcher in the menu. You launch the Linux apps just like any Chromebook or Android app by clicking on the launch icon, or you enter the run command in the Linux terminal.
It is important to note that not all Chromebooks are compatible with running Linux apps using Crostini. Instead, there is a minimal setup for newer Chromebooks that come with Linux Beta preinstalled. Other Chromebook models that have the required innards and is compatible have a slightly more involved installation and setup process to apply.
The following is a list of Chromebooks compatible with the Linux for Chromebooks feature:
- Asus Chromebook Flip C101PA
- Acer Chromebook Spin 11 R751T, CP311-1H & CP311-1HN
- Acer Chromebook 15 CB515-1HT/1H
- Acer Chromebook 11 C732, C732T, C732L & C732LT
- Acer Chromebook 11 CB311-8H & CB311-8HT
- Google Pixelbook
- HP Chromebook x360 11 G1 EE
- HP Chromebook x2
- Lenovo Thinkpad 11e Chromebook (inc. Yoga 11e)
- Samsung Chromebook Plus (inc. v2)
First, open the Chrome OS settings. This can be done by clicking the gear icon in the quick settings menu. There may also be a ‘Settings’ app in the launcher.
Click on the turn on button option, if it is visible on your system, if this menu option is not available then your device isn’t supported yet.
The last step is to click ‘Install’ on the popup window. The setup process could take a while, depending on your internet connection. When it is done installing the window below will display on your screen which shows you are ready to install Linux apps!
The main method for installing applications on Linux is through a software repository. Installing Linux apps requires your Chromebook to be running Chrome OS 69 or later, so you can easily install any software available through the Debian software repositories.
To install applications from a software repository, you usually have to find the name of the package you want and run a certain command. For example, if you wanted to install GIMP, you would type this command and press Enter:
sudo apt-get install gimp
To uninstall the same app, you would run this:
sudo apt-get remove gimp
To update all your apps, you would do this:
sudo apt-get update && sudo apt-get upgrade
Remember, we are in the early days of software development where stuff starts happening and stops happening for no apparent reason, and where you might end up rebooting more than you normally would. Linux apps can start and stop working with each successive Chrome OS update (that’s why it’s called a beta),you can always reboot and your system will be back with its magic.