First look: Running full Linux apps on a Chromebook with Project Crostini

If you haven’t heard about Project Crostini yet, you’re missing out on what may be the most exciting new advance coming to Chromebooks. To make a long story short, Crostini allows a full Linux virtual machine environment to run in safe, sandboxed containers within Chrome OS. There’s no need to use the less secure Developer Mode — with Crouton — for this, which makes it an ideal solution to run traditional desktop apps.

Note that to run the Linux VM in a Chrome OS container you have to currently:

Have a Pixelbook

Be on the Dev Channel

Enable the experimental #enable-cros-container flag

The second reason is why I was holding off: Since my Pixelbook is my daily driver, I like to stay on the Stable Channel. Heck, let’s throw caution to the wind!

This site lists the steps on how to get Crostini running on a Pixelbook but basically you just open up a crosh terminal by pressing ctrl+alt+t on your Pixelbook keyboard and run these two lines. Note that for <username>, I entered my first name as the account.

Create crostini VM vmc start dev

run_container.sh –container_name=stretch –user=<username> –shell

That’s it. You’ll see a standard terminal where you can now download, install and run Linux packages.

I haven’t yet played around with getting a graphical user interface up, but I have installed a few apps I’d consider using for my coding hobby: Eclipse and Sublime Text, in particular.

I can use these apps just as I would on any traditional operating system. And anything I store is persistently stored in the VM file system. After shutting down my Pixelbook and powering it back up the next day, I opened the Linux container, ran Sublime Text and was able to retrieve a saved Python script.

I’ll continue to tinker with this but have a few observations based on my limited use:

This opens up Chromebooks to a whole new world of offline desktop application use, of course, and nicely supplements Android app usage. I anticipate that folks will install Steam for gaming as well as programming tools and possibly productivity suites in cases where GSuite doesn’t fully meet needs.

There’s still plenty of work to be done from what I can see. Crostini uses a ton of memory so I don’t know how well optimized it is yet. And my guess is that a Chromebook with 4GB of memory isn’t going to cut it.

It’s not likely going to be for mainstream Chromebook users as it’s a bit complicated for now. There aren’t even any icons in the Chrome OS shelf to indicate you’re running a Linux app in a virtual machine, although it looks like that’s in the works. And we should be able to pin and launch Crostini apps from the shelf at some point too. However, you can use the alt-tab key combo to switch between Chrome OS and the Linux apps. And from what I can see, window resizing is working well.

I strongly suspect that we’ll hear more details of Google’s strategy involving Linux containers at Google I/O next month. That’s really a developer event and right now, this looks to be the missing piece for developers who need to code directly on a Chromebook and not use workarounds like I do.

17 thoughts on “First look: Running full Linux apps on a Chromebook with Project Crostini”

I’m writing to represent the linux-illiterate segment of the chromeos enthusiast followers! I’ve jus never had a need to learn/use linux for myself and though linux based servers were the backbones of several businesses I ran in the good old days, that was the realm of “the IT people.

But besides being retired and having time and desire to pick up some new skills, you really piqued my interest mentioning running more robust productivity apps than G-suite – and the Android MS Office apps still leave a lot to be desired. So, a few basic questions:

1) do many popular productivity applications that run on Windows and MacOS also run well in Linux? I’m especially interested in full-blown Excel and One Note.

2) Are there distros that run under Crostini that are GUI-driven and somewhat user friendly?

3) What are some good ways to learn Linux? My strength and weakness here is that I can get almost anything done in Windows; I remember one time years ago needing to learn to get around OSX quickly and there were some good tutorials that were based on teaching the OSX equivalents of pretty much all Windows commands and operations. Anything like that around for Linux?

4) It seems like Ubuntu is a very popular linux distro. Is it particularly user-friendly? Will a version run under Crostini?

I’m sure some of my questions reflect my near total ignorance but don’t feel the need to be diplomatic! Just point my way towards developing Linux literacy and I will be very grateful. Thanks

Consider this a bump of my original set of questions. I’m pretty embarrassed that I know so little about Linux that I asked some really stupid questions. Still, I would be really grateful if someone would just point me in the right direction. Thanks.

Couple of thoughts:
1. Rather than me saying what specific programs do or don’t have a Linux version, my best answer is to do what I do: Search Google “One Note for Linux”, etc… I also recommend this site, which lets you enter an app name and it returns any possible Linux alternatives if there’s not a native version: https://alternativeto.net/platform/linux/
2. I think it’s a bit too early in the Crosini life-cycle to know what (if any) GUIs will run. Keep in mind though that a Linux terminal and the command line are Linux-mainstays and you can learn a lot without the GUI. (In fact, I recommend it!) I suspect to keep things simple, Google will lean towards keeping Crostini for Linux apps, not a full Linux GUI desktop type of interface because it could confuse some by having two “desktops” if that makes sense.
3. This list of topics will get you a good basic understanding of how to use Linux: https://www.linux.org/forums/linux-beginner-tutorials.123/ However, if you have about $35, a monitor, keyboard and mouse, I recommend “splurging” on a new Rasperry Pi and using the Raspian distro. It’s pretty straightforward, low-cost and you can learn a ton by tinkering. Plus the Pi community is super helpful IMO.
4. I think Ubuntu is fairly user friendly among the main distros. Note that although the Raspberry Pi org has it’s own “noobs” distro of Raspian optimized for the Pi hardware, you can put Ubuntu on it if you want to tinker. https://wiki.ubuntu.com/ARM/RaspberryPi The beauty of the Pi is that everything runs off a microSD card so you could have a card for each distro if you want to learn & compare.

Thanks Kevin. I only just noticed your response. I just may acquire a Raspberry Pi and play around with it. The alternative is to wait until Crostini is more advanced and I can do the same things on my Pixelbook. What is most enticing to me is the possibility of ditching my Windows machine in favor of my Pixelbook as my sole daily driver. As it is, I still find I travel with my Surface Book “just in case” and, while it’s a wonderful piece of hardware that shares many attributes with the PB, it’s about 0.7 lbs heavier and doesn’t run Android apps which are approaching being more must-have than the few things I can’t do – or do well – on Chromeos. Plus, I must admit, once you’ve gotten used to both Chromeos and the Pixelbook, you really don’t want to work on another platform – though if I had to pick one, it would be the Surface Book, which I acquired new as a close-out for a song – less than the Pixelbook cost me – once the SB2 became the one everyone wanted. Thanks for the support. Jeff

For the moment, it’s just Pixelbook. However, there are code commits by the Chromium OS team to indicate they’re working on this for other devices/chipsets, so it’s possible the 2015 CB Pixel could see it. We’ll have to see when Google makes an official announcement. Hopefully, next month at Google I/O!

The overhead is mainly the memory footprint of running a second Linux Kernel that implements Containers. Indications that I have seen elsewhere suggest that you will take about a 5% hit in performance with crosvm. BTW, no hardware is emulated in crosvm, so you have to stick to applications compiled for the architecture native to you Chrome device.

The Debian build of Eclipse is a version from late 2012, as they haven’t had volunteers to keep it up to date. If you can, please use something more current like a download (tarball) from download.eclipse.org itself.

First of all,your blog is officially my favorite find on the internet for 2018, I am new to Chormebooks, having bought my first Pixelbook (bottom feeder version-intel i5-$999 version) and it easily the best laptop I have ever owned. As new as I am to Chrombooks, I have been a Linux enthusiast since loading Suse in 2003, so the question about wheter an entire Linux distro could be launched in Crostini peaked my curiousity. I agree, it may not at the outset, but why not offer a dual boot experience without the dual boot for those (like me) who would enjoy that sort of thing? If the hardware is up to the task, it should be an option in my opinion, even if it ‘s a lightweight distro like Xubuntu or Lubuntu. I also think it might be likely down the road, if Fuchsia ever replaces Android and Chrome OS, in that it’s a modular OS. Way far in the future, I think a Chromebook could launch any OS you want or pay for in a Fuchsia world. MS, Mac, Linux, Fuchsia? Take your pick. Ok, Mac might be a hard nut to crack, but if someone is willing to pay to load the Apple OS, Apple still makes money so, why not? I’d be happy if only half of these predictions were right, but I do believe they are possible, if only in theory.

Thanks for the kind words! I hear you on the dual boot scenario and there have been code commits that suggest Google is working on a dual boot situation. As for why it hasn’t yet happened (or even may not happen), it has to do with the three S’s that are Google’s primary pillars for Chrome OS: Speed, Simplicity and Security. Allowing for total user control of a second OS could compromise security, which is why with Project Crostini, Google has implemented the Linux VM in a sandboxed container within Chrome OS. I’m not suggesting that Google won’t allow for dual booting or some other situation where they cede control over to users – after all, you can use Crouton scripts in Developer Mode to install various Linux distros. But even in that case, Google warns you (on every boot up!) that your device is not as secure as it would be in traditional Chrome OS mode.

Thank you for your article and it’s very helpful to me. I live in Taiwan and get one Pixelbook on Amazon. I ‘m also a Fedora Linux User and use it at my work every day. I’m using my pixbook in beta channel for some reasons. After reading your article, I want to try it for this. If I use it in this way, could I install python or ansible packages on it? Could I write some shell scripts on it?
Thank you for your sharing.

Hi Richard! If you have a Pixelbook, you can enable the Linux beta, which gives you a full Debian Stretch environment. At that point you can install Python, Java or whatever Linux apps you want for the Debian distro. Enjoy!

Debian isn’t Ubuntu but is very similar. This article might be helpful as an overview between the two: https://linuxconfig.org/debian-vs-ubuntu. No, there’s really no “interference” between Chrome OS and the Linux container; Linux is running within windows on Chrome OS from an end-user perspective. Similar to how Android apps run within Chrome OS. Hope that helps!

Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

You can adjust all of your cookie settings by navigating the tabs on the left hand side.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

disable

If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.