Linux on my Chromebook

How and why I use Linux on my Chromebook

If I had to guess how much I split my time between using ChromeOS and Linux on my Chromebook, I’d estimate it to be about even. Half of my day is spent in the browser using web apps. The other half is in Linux using full desktop software. While many Chromebook users stay in the ChromeOS world, I wanted to share how I use Linux on my Chromebook to perhaps broaden some people’s perspectives.

Everyone’s use cases are different of course. So I’m not suggesting that every Chromebook user should be running Linux apps. I still think it’s a good idea for several reasons. But that’s not what this post is about. It’s about how I’ve been able to get more from my Chromebook simply by flipping a switch.

I code in Linux on my Chromebook

Regular readers won’t be surprised by this activity, but I code daily using Linux on my Chromebook. Yes, there are plenty of online coding environments that work in a browser. Replit, CodeSandbox, and CodePen are just a few examples that I’ve used in the past. They all work well and some even work offline through a Progressive Web App. I’ve found them excellent for some light testing, coding, and learning.

But since I’m learning to be a developer, I want to learn how to use tools that developers rely on. Again, there are plenty of choices here and I gravitate toward Microsoft’s Visual Studio Code. It’s ideal for my coursework and side projects. And it’s heavily used in the industry. So I install the Linux version of VS Code on every Chromebook I use. It’s easy to download the .deb file and then use the built-in file installation option in the ChromeOS Files app.

Here’s an example of the full desktop version of VS Code for a JavaScript coding assignment in progress:

Coding on a Chromebook

Even if you don’t want to be a programmer, you, or a family member, can learn some basics thanks to Linux and a coding environment. Given how much technology is part of our daily lives, it’s never too early, or too late, to learn a little Linux and coding concepts.

Linux for a full desktop productivity suite

Google Docs is great on Chromebook and I use it daily. But there are times when I have some type of document that requires a wee bit more functionality than Google Docs offers. Enter the world of desktop productivity suite tools for Linux.

There are a number of choices here but I’ve leaned on LibreOffice over the years. I find that it has all of the advanced editing tools I need as well as excellent Microsoft Office compatibility.

LibreOffice in Linux on my Chromebook

Once you have Linux up and running on a Chromebook, it’s just a few simple steps to install LibreOffice. Here’s how to do that.

Use an alternative browser on a Chromebook

This use case ties in with my programming activities, but there are reasons that non-programmers might want a different browser. Maybe you like certain features of Firefox, for example. Or you want something more privacy-focused than Chrome. DuckDuckGo recently debuted its privacy-centric browser for the Mac and my hope is that a Linux version eventually launches.

With Linux on my Chromebook, I can add any Linux-supported browser. That includes Firefox, Vivaldi, Brave, or any other browser made for Linux systems.

Firefox in Linux on my Chromebook

Personally, I fire up Firefox when working on web pages because it shows key layout information that helps me optimize my code. Each browser has its own installation instructions. Here’s the information if you want Firefox on your Chromebook.

Most recently, I discovered the Sidekick browser and although it’s based on Chromium, it has some amazing features that boost my productivity.

Sidekick on a Chromebook

Remote server access and file administration

I doubt many Chromebook users are managing remote servers, so this is another “me” use case. However, it shows that sys admins can use Linux and specific tools on a Chromebook for certain tasks.

Sometimes I have to modify files for this website that require remote access. It’s not often. When I need to do it though, it’s usually important and for a good reason. So I use Linux on my Chromebook with the Filezilla app for this task.

Filezilla in Linux on my Chromebook

Again, this is a specific use case for a small number of people. And most people who need this functionality likely don’t use a Chromebook. I’m betting they don’t know that Linux is fully supported in ChromeOS, and therefore so are many useful tools and apps.

If you’re using Linux on a Chromebook, what specific use cases are different from mine?

About the author

Kevin C. Tofel has covered technology since 2004. He's used ChromeOS since Google debuted the CR-48 in 2010, reviewing dozens of Chromebooks since then. He worked for Google's Chrome Enterprise team from 2016 to 2017, supporting the launch of Android app support. In his free time, he uses Chromebooks to learn software engineering at Launch School. In 2019, Kevin joined the CS Curriculum Committee at his local community college.

Liked this content? Subscribe for the free, weekly newsletter

28 thoughts on “How and why I use Linux on my Chromebook

  1. Being ancient, I use vi. Well, neovim. That is what I use the Debian for. No desktop. Fits perfectly; a bit of browser if I’m looking at web doc; mostly I’m coding through the keyboard. And dealing with the remotes – mostly raspberry pi of various sorts.
    Bigger beasts offsite on occasion. Whoever it is, it’ll have vi.
    Then I can flip to nonsense on youtube if I fancy.
    That is why I have a CX5; enough real estate and 8G of ram. Autocomplete and such is quick and smooth, compilation fast.
    Programming in Java for the high connectivity, C and Rust close to the metal with microcontroller stuff.
    You get a lot for your money with a chromebook

  2. The use cases that you just gave are all work and education and mine are similar. For productivity, I just want to add that the Linux desktop version of Zoom is far superior to the Android one. The same is true of similar apps like Slack and Webex: the Android version is either bad or only a website/PWA but the Linux version is better. About 12-18 months ago this wasn’t the case, but since then Google has fixed some issues with the microphone and camera. In addition, installing a Chrome browser on an (x86) Chromebook essentially allows you to use multiple user accounts simultaneously, as you can use its Google Meet, Messages, Gmail, Docs, PWAs etc. on that alternate account – say your school or work account – on the Linux Chrome. (Sadly all you have on ARM Chromebooks is Chromium, making Firefox-ESR a better option in many ways.) Finally, I have run VMWare Player on Chromebooks in the past.

    For entertainment, again some Android apps like Spotify have superior Linux alternatives. (This also included Google Play Music until Google killed it off). I also run – or have run – a bunch of video players and media centers like VLC, Plex, Kodi and Emby, both as clients and servers. Basically, I had been running Ubuntu, Linux Mint and CentOS as part time Windows replacements for years previously (I had reasons for never getting into Fedora). Once Google made Crostini a viable solution, it was easy to A. ditch CentOS and B. make ChromeOS a full time replacement for Windows for most things (I still have one Windows desktop as a media server and another for the rare instances that I play Steam games, and as I am increasingly using my Steam Deck for my rare gaming sessions, that gaming desktop is becoming an increasingly likely target for Chrome OS Flex).

  3. After the last update my Chromebook is now so slow that I can’t use it for much of anything! Must be Planned Obsolescence?

    1. I disabled the play store. Who needs apps anyway. It freed up all the memory. Linux still works and the machine is faster then when I first got it. Might try it

  4. I use Linux (Ubuntu Focal LTS under crouton, not Crostini, for the full desktop environment) for things where what is available in ChromeOS is just too lightweight. All things office with LibreOffice. Audio recording and editing with Audacity. Video production with OpenShot. Redirecting system sounds into Audacity with pavucontrol. And lots more!

  5. Speaking of DuckDuckgo’s web browser for Mac (beta), I just downloaded it yesterday. I like it.

    Speaking of MS Visual Studio ( a most excellent programming environment ), I’m surprised – a bit – that you were not primarily programming in RUST considering your Linux-ChromeOS tools, Kevin.

  6. This is all fantastic and that.

    Chrome OS now has no limitations it can mimic every other OS one way or the other.

    But the none Chrome OS users will just look at that and say so now Chrome OS is equal to Win / Lin / Mac / Android etc, that’s still no reason for them to use Chrome OS as their primary system.

    The article you need to write for sake of selling Chrome OS to the masses Kevin is explaining why you still use Chrome OS as your primary system even though a lot of the time you could just as well be using Win / Mac / Lin.

    If you can’t write that article then Chrome OS will not survive because it needs the support of the masses to keep Google interested.

    Making Chrome OS equal to Windows is what Microsoft wanted, that way there’s no need for anyone to use Chrome OS.

    Low maintenance, High security, Ease of Use, Stable, Consumer friendly, Quick setup are the worlds Microsoft doesn’t like to hear people saying about other OS. I love Chrome OS, it’s the people who have fallen for Microsoft’s trap that maybe don’t, they want Chrome OS to be Windows without Microsoft in charge because they hold a grudge, rather than Chrome OS being it’s own thing.

  7. With Linux, I can do anything I could do on my Macbook Pro except manage my iPhone – on a $450 Chromebook instead of a $2,000 Mac! I use Ubuntu Focal LTS under crouton, not Crostini, because I really like the full desktop environment. It provides for the same user convenience I had with my Macs. For everything “office,” I use Libre Office. To record and edit audio, I use Audacity. To direct audio output from any sound source into Audacity, I use pavucontrol. For creating, playing, and printing music in ABC notation, I use abc2svg. For video editing, I use OpenShot. To manage PDF files, I use PDF-Shuffler, an application, that can split files, and rotate, crop and rearrange their pages. And a few more little useful programs. I am pretty sure whatever I need, there is a Linux application that can do it.

  8. I use VS Code and Nodeje on my 220e CHROMEOS laptop. It has 8gb 128gb EMMC and 4 cores. That runs very well I have to say. Use it for web development. Use it together with bootstrap 5 and htmx. Great development environment and cheap. Switched the buttons so they mimic a PC.

  9. I’m not a gamer, so I don’treally care about SteamOS, but what I would really like is a tutuoril on how to install Ubuntu with a full desktop environment in the Crostini container. I have seen several web articles purporting to show how to do that and none of them worked.

    1. There’s a reason none of them worked. Crostini doesn’t support / allow a full desktop environment; you’d have two environments then, one for ChromeOS and one for Linux in a container. I’m not saying it’s impossible to do, but if anyone can do it, it will be a VERY hack-y solution at best.

  10. I used to use VScode’s “native” app, but after using code-server, I realized that the UI rendering in VScode was a real bottleneck. Now I spin up a localhost code-server instance and let the optimized chrome browser built in to Chrome OS do the UI rendering. The performance difference is dramatic, especially if you have multiple instances open.

    The only other primary use I have for Linux is for slicing 3D prints with Cura.

  11. Kevin, I’ve been using Chromebooks since 2017 and I love them!

    But now that you mention FileZilla I have a question. In the last 3 releases I have a problem with screen flickering. Have you see this problem in FileZilla?

    Regards!

    1. I have Julio. The UI, specifically the resizable windows around the folder and file lists, flickers for a few seconds when navigating items. Not sure what the issue is and I keep meaning to report it. Thanks for the reminder!

  12. I’ve been using Google’s Pixelbook since 2018. In my day to day work as Net Sys Admin I have Linux running on the Pixelbook every day. I use Remmina to remote desktop the Windows laptops and servers at my site and the others I support. I used to use a Chrome Web App for RDP but it was deprecated some years ago. I would not be able to support my end users without Linux running on my Chromebook.

  13. Maybe counter to the “spirit of Chromebook” but I use Linux to run MS Edge on CB.

    I can use my personal and Work profile to access M365 through browser (OneDrive, Outlook and Office apps, Teams etc) for work or personal meetings and content view and update tasks.

    Not very trendy or tech-y but works well and fills a gap!

    1. Edge actually works really well on Chromebook, up until recently it was the only Linux browser that actually ran well, now they all seem ok – Opera, Chrome, Firefox ESR, Firefox proper, Vivaldi. Some Gog games work too.

      I also use Microsoft mouse with Chromebook and Office 365 online.

      Microsoft do some things well after all and Linux does come in handy at times.

  14. I’m probably the most edge-case user that follows the site. I’m a Microsoft admin by trade but have really become disenchanted with Windows and have been looking for an alternate primary OS that I can still get Microsoft 365 & Azure centric tasks done. With Microsoft shoving ads into every nook and cranny of the platform and their absolute awful signalling around the future of the platform and the Insider program I just decided it was time to leave.

    Enter ChromeOS. I like ChromeOS because the main OS is about as infallible as you can get for a stable excellent interface that you can’t easily screw up (unlike using a Linux desktop). But, I also get a full Linux OS environment with the terminal I need to get my job done. So, to that end, VS Code is my first install followed by PowerShell and Microsoft Edge (I keep business work in Edge), and Microsoft Teams for Linux. Not on the Linux side but I also run the Microsoft Remote Desktop and Chrome Remote Desktop Android apps to connect to various desktop interfaces if I’m not using SSH to connect to terminal sessions.

    I’ve been pleasantly surprised with how easily I can get my job done even with Microsoft’s ecosystem. Of course, if it wasn’t for Nadella and the push to meet customers where they are and embrace Linux I wouldn’t be able to say any of this!

    1. Out of interest why not use Chrome Remote Desktop website instead of android app?

      For people interested https://www.dwservice.net/en/ is another remote service that can be used just in a web browser on Chrome OS, though software is needed at Windows / Linux end.

      I’m Chrome OS user, but my family is still using Win 7. Some point I’ll have to buy a new Windows machine, but it’s being put off as long as possible (with the aid of good backups and AV software that still supports Win7 +Firefox) because of being stuck between Win10 ending support soon and W11 basically being in beta / sucky. Everyday that passes I’m thinking of how to get family to use Chrome OS or even Mac or just smart tablets / phones over Windows. There’s more people like me and my family than Microsoft realise, even in business settings. The amount of man hours Microsoft lost just because it lost the smart phone wars is insane. 5+ hours each day people spend on phones. That would have added a lot to share price.

      1. I need Microsoft Remote Desktop to connect to servers where Chrome Remote Desktop isn’t feasible. I guess I should correct my original statement for Chrome Remote Desktop — On ChromeOS you get redirected from the app to the browser version of CRD.

        But, I mostly access remote systems via the Linux terminal and SSH or PowerShell/VSCode and the various modules Microsoft publishes to interact with Microsoft 365, Azure AD, etc…

        As for Microsoft, since they made the pivot to Azure, Microsoft 365, Windows 365, etc… Their cloud play is all they need vs. managing a mobile eco-system. I would love to see Windows Phone in the market still but it isn’t particularly important for Microsoft. The Azure play is also why Microsoft has gone so deep with AI. The LLM models of today must run on large data center hardware which Microsoft has plenty of and they are better positioned than AWS it seems for the AI push they are attempting to start.

        Really, at this stage having to deal with client software is more boat anchor than money maker. So long as Microsoft remains dominant with Microsoft 365 and their cloud platforms they are well positioned to be the go to for anyone regardless of platform.

  15. Linux works very well on ChromeOS Flex but it needs 8GB of RAM.

    Android Studio is the real heavyweight Google development tool. There is a version specifically for Chromebooks, which works surprisingly well.

    In my experience, using Linux leaks memory. The Diagnostics app is the best tool for detecting this. It does not appear by default in the Launcher and I recommend pinning it to the shelf.

    The Files app handles Linux files extremely well and is another useful tool.

  16. For my video editing, I use Audacity, OBS, and Shotcut.
    When I need OCR, gimageReader, which not only reads and outputs editable text, but will also save in .odt format, ready for LibfeOffice.
    I also prefer the Gnome Mahjongg to any other.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to top