There are may advantages to using a Linux distribution for your daily driver, especially if you work (or seek to work) within the information technology field – as many of the skills inherent with Linux life are considered basic or advanced requirements for the majority knowledge-based occupations in the IT sector. In this post, we’ll discuss Pop!_OS by System76, which is my only recommendation for new users looking to get their feet wet (but not lost), advanced users & developers, C-Suite executives, and everyone in between.
Use-Case(s)
As use-cases can be useful for sizing up whether or not a new OS can handle your personal workload, I’ll share a bit of my activity types and considerations to give the reader an idea of how Pop!_OS was used on my machine. It should be noted that for both the professional and personal use categories outlined below, I used the same device.
As you’ll see, my needs are fairly simple, with stability and privacy as top priorities. In fact, 99.9% of both my professional and personal time is spent with the following applications:
- VSCodium, Nano and other simple text editors
- Azure PowerShell & Azure CLI
- ProtonVPN
- VirtualBox
- OnlyOffice
- A FOSS Password Manager
- TrueCrypt
- Obsidian (.md notes)
- Chat Applications, such as Matrix, Wire & Discord
- Internet browsers, Firefox & Tor Browser
Edit – November 9, 2023: The only time in recent history that I was unable to either run an app or complete a task on Pop!_OS was when I took the AZ-104 (Azure Admin Associate) exam. PearsonVUE does not support an app for Linux machines (nor would I install it if they did), so I had to use my wife’s computer.
Professional Use-Case
Much of my professional activity is centric around reviewing, analyzing or creating documentation, delivering presentations internally or to clients, conducting research and managing or developing enterprise-scale cloud resources. As you can imagine, this requires the highest levels of stability to the point where Windows 11 cannot be trusted, but I almost switched back to MacOS from Windows….almost. On the topic of Windows, you’ll note from the above list a suite called OnlyOffice, which is the most complete office suite I have encountered, built for collaboration and high compatibility with Windows office file extensions.
Its worth adding that I had switched back and forth between Ubuntu & Mint for many years prior to taking the plunge into Pop!_OS, and I had never felt anywhere near this level of confidence in performance or stability, as I do with Pop. Where other distro’s have been slightly abrasive to my work-flow, Pop!_OS seems to want to run smoothly and get out of the way so that I can work – which is incredibly valuable to productivity.
Hobby & Personal Use-Case
For my personal use which again, is on the same device that I use for work; I play around with a lot of coding & scripting projects in Python, Bash, PowerShell, use virtual machines such as Kali, ParrotOS and Ubuntu for HackTheBox and security research, build docker-compose (yaml) files, and other regular guy stuff.
What I do not do is play video games, edit video footage or view a lot of video content outside of the context of my research. With this said, I’ve read many times on X(twitter) and reddit that Pop!_OS has made a concerted effort for gamers and footage editors, and has produced the same stability for them that I require on a work machine.
Differences from Ubuntu
System76 has created a brief post on their differences from Ubuntu, which is worth reading if you want to learn more about how they view their primary differentiators. What I would like to add is that while Pop!_OS benefits from Ubuntu in many ways, such as Ubuntu’s open-source community and forums, you do not feel Ubuntu’s negative aspects while working Pop as you would with other Ubuntu-based distro’s – such as Mint. As an example: I know they’ve changed a lot and I am a big fan of Mint, but it often feels like “a re-skinned Ubuntu” in terms of tiling, commands, driver issues, slight lag in movement and the desktop environment itself.
Another big difference is the System76 team’s commitment to privacy which manifests itself in two obvious ways, to include both full-disk encryption (as a standard) and removal of telemetry services. As you’ll notice from my github account, this line appears in many of my scripts for setting up Ubuntu VM’s
# If Ubunutu, remove known telemetry
osdet=$(uname -n)
if [[ $osdet == *"ubuntu"* ]]; then
sudo apt remove -y apport
sudo apt remove -y popularity-contest
else
echo "No modification needed"
fi
I get it – everyone has bills and the tech industry wants to pay some of those with the sales of your data, but if you believe that your data and device usage is only your business, you may want to take a close look at those services.
The Biggest Difference
This is my option and based on my experiences, but the final differentiator that I would like to illustrate is that Pop!_OS seems more stable and inspires more confidence from the beginner and intermediate Linux experience user groups (and everyone in between). I’ve used Ubuntu and other Ubuntu-based distro’s for more than 10 years now, and while I’m appreciative of the volume of curve balls I’ve been thrown and forced to work out, most distro’s have left much to be desired.
Despite the volume of forums, documentation and support groups for Ubuntu, I would recommend Pop!_OS over Ubuntu for first time users, experienced users whom require high stability and everyone in between.
Key Features
System76 has packed tons of features into Pop!_OS to make life easier for its users regardless of their use-case. We’re not going to dive into all of them, but listed below are some which have either stuck out above and beyond other Linux distro’s, or have made life noticeably easier for me.
- Cosmic (Custom GNOME) Desktop: I couldn’t be a bigger fan of the design and UX thus far. It’s clean and uncluttered, and as mentioned above, the desktop and applications seem to run more smoothly than Windows and Ubuntu.
- No Telemetry: Unlike most Ubuntu based distro’s, pop does not send telemetry data on your use back to Ubuntu. They believe that your data is your property and should be kept private.
- Full-disk encryption by default: The Pop!_OS installer encrypts your drive during the installation process by default. As a privacy enthusiast, this was a big deal for me. Despite their disclaimer that this may slow data processing, I have not noticed any issues related to speed at all.
- Recovery Partition: A full copy of the the Pop!_OS installation media which can be used from recovery mode to repair or reinstall your instance without loosing any of your data. I’ve only needed to use this feature once, but it worked flawlessly.
- Package Managers: Pop uses APT and Flatpak by default. Of course, you can install snap if you want to, but I prefer Flatpak.
- Software Repositories: Software is also available from the Pop!_Shop as well as Ubuntu if you like. This said, the Pop!_Shop is a much better experience than Ubuntu’s and the interface is akin to Google Play of f-droid.
- NVIDIA Support: As discussed above, I have not put this through the paces but am currently running the NVIDIA version of Pop!_OS. Due to the next point and some ongoing machine learning projects however, NVIDIA support is important to the next point.
- CUDA & TensorFlow: You can install CUDA and TensorFlow with a single command line – and it works. I only recently started dabbling with TensorFlow, but will update this post after more extensive experience and as I complete more projects in this category.
Issues Encountered
Despite Pop!_OS high stability, I’ve run into just two issues, one of which I was hit with multiple times and still occurs multiple times per year. The first of these is fairly common among Dell laptop users (like myself) and the second will impact a very small percentage of the community.
Known Wireless Issue
About 5 or 6 times in the past 4 years, I would encounter an issue with internet connectivity after running major upgrades. My wireless icon would be replaced with the ethernet icon, despite being actively connected to my wifii router. I could not access the internet at all and when I reboot the system, switched wifi off and connected an ethernet cable, I was still unable to access the internet.
Now I’m a Bash scripting nerd and having been more than once bitten by Ubuntu, so I had developed a script to restore my system, files and configurations from a flashdrive. After the first occurrence, I didn’t think much of the issue and performed many upgrades for months afterward, but eventually, tragedy struck again.
After the second time this happened, I was able to find a solution on System76’s support forums here ( https://support.system76.com/articles/wireless ). I worked through most of this page in both Basic and Advanced Troubleshooting sections, but in the end found the solution (works every time since) under the Useful Commands section by running the commands that erase the stored information about all wireless access points.
sudo rm /etc/NetworkManager/system-connections/*
This is second from the bottom of the Useful Commands section.
My recommendation is that you save a copy of the above listed page locally to you device, so that you’re not troubleshooting from a cell phone 15 minutes ahead of a presentation (we’ve all been there). Also, it may be worth following the document’s recommendations to install wavemon to assist in troubleshooting issues of this category if they come up in the future.
PyQt5 & PyQtChart
This is not an issue that will impact >95% of Linux users, but I wanted to include it anyways. Almost a year ago, I was working on a hobby-project for which I tried to install Sparrow-WiFi on my Pop!_OS machine. I must have spent well over 5 hours attempting everything listed on the project’s github repository and digging through documentation pypi.org but while I was able to identify the problem with PyQt5Chart, I was never able to get it functioning properly on Pop.
I hate to admit it, but in the end, I decided to side-skirt the issues by using Sparrow-WiFi through a Kali Linux virtual machine. As an interesting side note: It functions just fine on Ubuntu as well.
Closing Thoughts
Looking back through the points features and differentiators in this article, I’m reminded of my initial “jump” into Pop!_OS after first hearing about it on a podcast. Much has changed in the past several years, but I remember that Pop!_OS revived my excitement for Linux. With this, I hope to both use and support the project for many years, and am looking forward to a new System76 desktop this year.