When Google announced that Chrome OS would officially support Linux apps via the Crostini project, I expected that developers and tinkerers like me would be the only ones genuinely excited. On the flip side, I’ve long theorized that the masses could benefit from Crostini if Google could find a way to deliver Linux apps in a way that felt native to consumers. We haven’t quite gotten to the point yet but as I spend my days testing new apps and installation methods, I’ve discovered that Linux on Chrome OS is far more capable than I anticipated.
Just yesterday, I shared a full-blown, professional-grade video editor running on my Chromebox thanks to some simple command-line codes. Now, I’ve already received feedback from some users saying Shotcut is a little rough around the edges but a lot of that depends on the device that you’re using. My Chromebox is a Core-i7 with plenty of RAM and I have GPU support enabled to squeeze a little more juice out of the onboard Intel HD graphics. At the end of the day, applications that require a lot of graphics horsepower are going to struggle on Chrome OS devices until more powerful GPUs are available and accessible via the OS.
I say all of this so I can share my latest discovery. Flatpaks. What is Flatpak? In layman’s terms, Flatpak is a universal package management framework that attempts to make applications more flexible by making the application usable on a wide variety of Linux distributions. I’ve tried using Flatpaks on Chrome OS in the past with little success but today, I found that Crostini now works flawlessly with the official Debian setup process.
Why it matters
I’ll rope this in before we get too far off into the weeds. The reason this is kind of a big deal is that Flatpak applications are simple to install and require very little know-how when it comes to using the Linux terminal. Flatpaks also have their own, official storefront where you can download and/or grab the command-line code to install them. Now, this is no Google Play Store we’re talking about but there are a lot of popular desktop applications that I know many a Chromebook user has wanted to use but have lacked the ability to do so until now. Here’s an example of some of the Linux apps you can grab from Flathub, the official Flatpak shop.
- VLC Player
These are just a few of the desktop applications that can be found at Flathub. There are IDEs, games, productivity tools and yes, even video editors. As a matter of fact, Shotcut is available in a Flatpak alongside popular editors like Kdenlive, OpenShot and Olive. Keep in mind, video editors take a lot of system resources so don’t be surprised if you experience some jank when you try to edit that 4K video of your kid’s gymnastics meet. Still, a lot of these applications will run as smooth as butter on a Chromebook and for those users who prefer to have installable applications as opposed to Web Apps, this is a great option. So, without further ado, let’s walk through the steps to install Flatpak on Chrome OS and install you first Linux desktop application.
For our purposes, we will install the Spotify desktop application but first, we’ll make sure everyone’s up to speed by going through the steps to install Linux (Beta) on a Chromebook. First, you’ll need to make sure your Chromebook supports Crostini, a.k.a. Linux apps. You can find the list of supported boards here and you will find a link where you can cross-reference the board name with your device. If your device is up-to-date and compatible, you should be able to find “Linux (Beta)” when you go to your settings menu of your Chromebook. Do so by clicking the system tray in the bottom right corner and clicking the gear icon.
Select Linux (Beta) and then click “turn on” in the Linux menu section. You’ll then be greeted by the Crostini installer. Click the install button and sit back while the process completes. It should only take two or three minutes. Once the installation is complete, you will then see the Linux terminal window open.
Next, we’ll take care of a couple of housekeeping items. Currently, the repository key for Debian Buster on Chrome OS is expired. It won’t affect your installation but it will output an error anytime you try to update Linux. It bugs me and I like to fix it out of the gate before installing anything else. To update the repository keys, copy the code below and paste it into the Linux terminal. To paste, simply use two fingers to click anywhere on the black screen after you have scraped and copied the desired text.
sudo apt-key adv --refresh-keys --keyserver keyserver.ubuntu.com
You should get a large output message and your keys will be updated and ready to go. Moving on. For a fresh install of Linux on Chrome OS, packages may or may not be up-to-date but just for the sake of thoroughness, we’ll run the following two commands to make sure. These commands will check for updates and subsequently install said updates if they are available. This process could take a few minutes so now’s a good time to grab a cup of coffee or a snack.
sudo apt update && sudo apt upgrade -y
Alright, now we’re all up-to-date and ready to install Flatpak on your Chromebook. First, you will need to install Flatpak and then, we will add the Flathub repository so your device will have direct access to all of the available applications. Start by install Flatpak by pasting the following code into your terminal.
sudo apt install flatpak
If prompted, select “Y” to accept the install then wait for the process to complete. Once you see yourusername@penguin:~$ the installation is finished. Now, you will add the Flathub repository by pasting the code below into the terminal. There won’t be any output for this command so don’t freak out if you don’t see anything happen.
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Okay, now it’s time to install your first application. You can poke around the Flathub store for applications that may be of interest to you but the installation process will be the same for any of the Flatpaks. Find the application you want and click into that apps page. When you scroll to the bottom of the apps page, you will see the installation command. Copy that command but before you paste it into the terminal, you will need to add “sudo” to the beginning. This will keep you from having to enter a Linux password. To install Spotify, the command looks like this:
sudo flatpak install flathub com.spotify.Client
You should now have the Spotify desktop application in your launcher inside of the Linux folder. Alternatively, you can start the application from the command line using the code that is found beneath the installation command on the app page. For Spotify, it looks like this:
flatpak run com.spotify.Client
This may be more than some users want to undertake to install an application on a Chromebook but I can’t help but find it exciting to see Chrome OS stretching its legs and offering even more versatility. The potential for the platform is growing by leaps and bounds and I’m chomping at the bit to see what the future holds for Chrome OS. Stay tuned for more as I dive deeper into Linux and what it means for Chromebooks.