Google today announced Chrome OS is getting Linux support. As a result, Chromebooks will soon be able to run Linux apps and execute Linux commands. A preview of Linux on the Pixelbook will be released first, with support for more devices coming soon.
One of Google’s goals this year is to make it possible for developers to code on Chromebooks. Want Chrome OS to run the Linux terminal, Android Studio, Git, Sublime, Vim, or Android Studio? All of that will be possible this year. “Just go to wherever you normally get those apps, whether it’s on the websites or through apt-get in the Linux terminal, and seamlessly get those apps like any other Linux distribution,” Chrome OS director of product management Kan Liu told VentureBeat.
(Separately, Google also announced Android Studio for Chrome OS. The company has it already working internally, and a preview is coming later this year.)
Support for Linux apps means developers will finally be able to use a Google device to develop for Google’s platforms, rather than having to depend on Windows, Mac, or Linux machines. And because Chrome OS doesn’t just run Chrome OS-specific apps anymore, developers will be able to create, test, and run any Android or web app for phones, tablets, and laptops all on their Chromebooks. Without having to switch devices, you can run your favorite IDE — as long as there is a Debian Linux version (for the curious, Google is specifically using Debian Stretch here) — code in your favorite language, and launch projects to Google Cloud with the command line.
I expected the news to receive the biggest applause from the audience, and that was indeed the case. Among enthusiasts and power users, the biggest criticism of Chrome OS has been the inability to build on the platform.
“I’m pretty excited about it myself,” Liu shared with VentureBeat. “I can actually now self-publish on Chrome OS. I can literally pull up the source code for Chrome OS and build Chrome OS within Chrome OS. And with Android Studio, even though it’s still relatively early, I can build Android apps on Chrome OS [and] deploy it to the exact same device — which is something you’ve never been able to do with Android before.”
The Chrome OS operating system is based on the Linux kernel, so this has technically been possible before. In fact, some users have managed to pull it off with tools like crouton, albeit with the tradeoff of disabling some Chrome OS security features. But now Google wants to officially support Linux apps so Chrome OS security can remain intact.
Here’s how it works. “We put the Linux app environment within a security sandbox, running inside a virtual machine,” Liu told VentureBeat. “We made sure the user experience is seamless to the user. Whether you use a web app, whether you are using an Android app, or whether you are using a Linux app, the window treatment and the way you launch the app from the launcher is the same.”
The virtual machine is specifically designed for Chromebooks. A Google spokesperson estimated that the VM “starts up in a second.” It also integrates completely with Chromebook features, meaning windows can be moved around and files can be opened directly from apps.
“From a UI perspective, we use Wayland to make sure that it’s completely seamless to the user. You don’t see the windows from the Linux side; it’s just running within a Chrome OS window. For all the window treatment from Chrome OS windows, you get on the Linux side as well.”
For example, if you want to use Visual Studio Code, you will head to the Chrome OS launcher, open the Linux app right there, and it will open the app in a Chrome OS window. You’ll be able to run files from GitHub, edit them, save them, and so on.
“The files are actually inside the VM as well,” Liu explained. “From a security standpoint, that’s what makes it safer. But you’ll be able to access files from both sides. If you were ever to get malware in the Linux side, for example, it can’t contaminate the rest of Chrome OS.”
Google also announced and showed off adb support. You will be able to debug Android apps, although support is still finicky.
To be clear, Linux app support is still very early — that’s why it’s being made available as a preview first, and only on the Pixelbook (you can switch to the Dev channel to try it, but there are stability issues). The goal is to bring it to all Chromebooks, although there are some requirements, including some extra storage space (300MB for Linux and more for the apps) and Linux kernel version 4.4 or higher.
Chrome OS won’t have Linux app support on by default — users will have to explicitly enable it. “The average user probably doesn’t need the Linux terminal and the ability to code,” Liu noted. “So it’s not going to be on by default. But for the people who care about that, they can just turn it on.” Once a power user tries to enable that switch in settings, they’ll be told whether their device is supported, if space needs to be freed up, and so on.
Chromebooks have gotten more powerful over the years, so it makes plenty of sense to let them run Android apps and Linux apps. For the former, Google pointed to two apps as examples of more engagement on Chrome OS. Evernote is seeing its users spend triple the time on large screen devices’ and quadruple the time when using the Google Pixelbook, while for Squid, Chromebooks have accounted for over 7 percent of its active devices but 21 percent of their revenue over the last 30 days.
With Linux apps on the way, Chromebooks could become not just a platform with more engagement and revenue for Android apps, but one that developers actually use day to day.