You're sleeping on ChromeOS
For about a year I have been daily driving a Chromebook as my primary laptop and I wanted to spend a little time defending ChromeOS. For the purposes of this post, I want you to take all your preconceived notions about ChromeOS and Google aside. I know that is going to be hard for a lot of folks because they’ve been saying for years, “ChRoMeOs IsN’t A rEaL oPeRaTiNg SyStEm.”
It definitely has flaws. I have absolutely found situations that I know a full Linux desktop would solve. However, if we look at the devices through the lens of a lightweight, low power, fast charging, single screen productivity device, ChromeOS is fantastic for a lot of folks.
I really want to clarify that using ChromeOS doesn’t mean you are in committed to Google apps. This post is some neat stuff about ChromeOS from the perspective of a desktop Linux romantic and avid self-hoster.
Neat feature 1: Basic laptop stuff
Further down this post is more complex features. I wanted to start with some basic stuff, though.
ChromeOS has multiple virtual desktops, along with a shortcut to hop around. You can even name them and they are saved across reboots. That is not just the virtual desktops and the names. It will even resume the applications on each of them.
My Chromebook is the Lenovo Chromebook Duet 3. It has two full service USB-C ports, which is how I dock it at my desk to use with my main monitor for dual screens and all my peripherals.
This is my everyday carry (EDC) device, so I rarely connect it at my desk. Instead, I use it while in the field and can charge it while I drive from a 12v charger connected in my truck. When you connect an Android phone to ChromeOS it can automatically startup a hotspot without even having to get out your phone. This is handy when I’m on jobsites. I get out the Chromebook, click connect, and then start up Tailscale. Now I have internet and can access my homelab from anywhere.
For basic laptop things, it nails it. Starts fast, gets great battery life, charges fast, is ultra portable, and can have a dozen tabs open with no issues all for the same price as the turd Pinebook Pro. Don’t @ me about the Pinebook Pro. I have one. Its a turd.
Neat feature 2: Network shares
Let’s start with samba. Chromebooks notoriously have little storage, hence being a system for using “the cloud” and the reputation of ChromeOS not being a real operating system. Yet, built into the settings you can mount samba shares and then access them directly in the native Files app. These samba shares will mount on boot, too.
Next, in the native Terminal app, you can create a ssh shortcuts. Once configured, you can click the three dots and “Mount to Files” using sshfs (I believe it is sshfs) (Update 2025-08-22: It is sftp).
Here’s an example of how I use these. While working on a project I connect to my NAS with the Terminal app and mount it to Files. Then, using Docker inside the Linux VM, I run a local instance of VSCode server and access it in the Chrome browser on the Chromebook. Then, I open local files with the VSCode web editor and select files from the mounted network share.
Another example? I use samba to mount my media files on the NAS and then run the Android version of Kodi and point it to the TV shows and movies on my NAS for an instant HTPC.
Neat feature 3: Apps
For a while now ChromeOS can install both Linux and Android apps. These apps show up as regular desktop apps in the menu, but run in their respective containers. There are some quirks with each. But for the limited apps I need to run, I have had good luck using them.
Web apps
I am an avid homelabber and self-hoster. I have everything in a web app from my homelab, which is a project I’ve been working on for some time. I want all my self-hosted services to be available in any browser on any machine on my LAN. Since I had already been working on this, using ChromeOS has been easy.
I use this Chromebook without using any Google services other than the Chrome browser. I use Nextcloud with OnlyOffice for documents, Nextcloud Tasks and Calendar for organization, and Notes all right in the browser. Bookmarks are handled by Shaarli. Photos by PhotoPrism. I even run an instance of VSCode that can edit local files in addition to those on my NAS or in my Forgejo server.
This is the power of self-hosting. I have created my own ecosystem and the OS I use doesn’t dictate what I do on my computer.
There are many sites that have decent web apps, too. Discord, for example, is fine as a web app.
Now, I know this means I am stuck using Chrome as my browser. For me, this isn’t a problem. I have several plugins I like to use to make using Chrome better (like Don’t F*** with Paste, I Still Don’t Care About Cookies), some tweaks (like blocking the prompts to login with Google) and using tab groups for workflow organization. Plus, I run Pi-Hole for adblocking. So, not having UBlock Origin doesn’t affect me.
Yet, I could install another browser in either the Android or Linux containers. Installing Firefox or Vivaldi are trivial and work fine, especially Vivaldi since the Android version is essentially the desktop app.
Android apps
Android apps run the best and feel like native applications on ChromeOS. I don’t have a ton of Android apps installed and use it mostly for networking. Using the Android apps I can turn on Tailscale, Proton VPN, and even run the Tor Browser.
LocalSend works fantastic, too.
In addition to apps from the Play Store, it is possible to sideload apps using adb. This is how you can install apps from F-Droid like NewPipe or FreeTube for a better YouTube experience.
I don’t want to set the expectations too high here. There are issues with storage, like having access to network shares. The only way to find out how well an app will work is downloading and testing.
Linux apps
These run inside the pseudo-LXC Debian container and most come from the Debian apt repos. You can straight install Libreoffice or VLC by popping into the terminal and doing a normal sudo apt install <whatever>. Once installed they will appear in the menu and can use normally.
In addition to apt, you can also run binaries that match your system architecture and execute them. You can use the built-in terminal app or install another terminal emulator (say Terminator) and execute there.
Of course you can also find apps that release deb files and install as normal with apt or whatever tool you prefer on Debian systems (like gdebi).
The Linux app situation is good, but not great. I will admit there are some apps that just don’t want to work properly. There is also a situation with storage. Linux apps can acces data inside the Linux container with no problem. But if you want to access other folders, like the Downloads folder outside the container, you need to go into settings and pass that folder to the container. Sometimes this works, sometimes ChromeOS gets funky with passing the directory.
The Linux VM is where you can get creative. Run an app through a Tor proxy? Yep. Run the Nextcloud desktop sync client. Yep. Run Syncthing? Yep.
Neat feature 4: Docker
Yes, running Docker inside the Linux container works and I use it all the time. I will frequently test new self-hosted services or quickly spin up a container for a desktop app I’d like to use in the browser.
For example, ChromeOS doesn’t have a built-in text editor. I could use my VSCode instance on my homelab or I can install something like helix in the Linux container. An even cooler option is to setup a local instance of the VSCode server using Docker and then use it in Chrome by going to http://localhost:PORT. Then I can write new docs or edit local docs.
To access anything running in Docker in the Linux container simply needs the port forwarded in settings so it is available outside of the container. Or, for some services, run the Docker image and access straight in the Linux container.
I am currently testing several different new bookmarking options to replace Shaarli and I’m doing it all on my Chromebook while I sit on the couch in the evenings. All runs in Docker in the Linux VM.
Neat feature 5: Linux virtual machines
Once you enable the Linux environment on ChromeOS you have access to a Debian VM named “penguin”. In the settings you can change how much storage is allocated to the VM, enable port forwarding, passthrough USB devices, and connect local ChromeOS directories.
With a few settings changes you can enable allowing multiple Linux containers and use as many as you like. I am fine with Debian. However, it is technically possible to run other distros since the Linux VM is a customized version of LXC. So, it is possible to have both a Debain and CentOS VM on ChromeOS.
Wrapping up
I am aware of how problematic Google has become. I am aware that Chrome’s dominance as a browser is bad, even though the alternatives are just as awful in different ways (looking at you Mozilla). But, y’all need to get off of people’s back about what operating system they use.
Based on what ChromeOS can do and what Android has become, I’m excited to see them merged into a desktop operating system. It has already started as the new Android 16 Terminal app is essentially the ChromeOS terminal.
One of the things that bugs me the most about Linux enthusiasts is the mentality that if something doesn’t work for them, then it doesn’t work for anyone. The thought that how they use a computer is the right way. Anyone that does things differently is wrong.
I encourage all of them to take a deep breath, shut the fuck up, and read this post.
Every day of the week I’d choose ChromeOS over Windows and MacOS. I unapologetically love ChromeOS. I think most people are sleeping on it and you shouldn’t judge it until you spend some time with it.
- - - - -
Did you like this post? Give it an upvote by clicking on the arrows below! Sending me an upvote is like you and I giving each other a high five.
🙏 😎
Thank you for reading! If you would like to comment on this post you can start a conversation on the Fediverse. Message me on Mastodon at @cinimodev@masto.ctms.me. Or, you may email me at blog.discourse904@8alias.com. This is an intentionally masked email address that will be forwarded to the correct inbox.If you enjoy the random stuff I write here, post to Mastodon, or watch on YouTube, and are feeling generous, I am open to tips of Ko-fi.