Why I Love Ubuntu as a Desktop OS24 May 2020
One of the top stories on Hacker News today was a blog post called macOS 10.15: Slow by Design. I loved reading it – I find it fascinating to see how a problem like that was discovered through some reverse engineering. But it also got me thinking about macOS vs Linux vs Windows and reminded me why I love using Linux. Many people I know think the Linux Desktop is buggy and hard to use. And sometimes it is. But it’s worth remembering that neither macOS nor Windows comes without its own set of problems. There are trade-offs between any operating system (and apparently, the OS slowing down some executables by making network requests is now one of those trade-offs 😂). At the end of the day, I just want my OS to get out of the way and not be broken so I can be productive, and it seems to me that in the last several years, Ubuntu is getting closer to Windows and macOS in terms of stability and ease-of-use.
I’m an Ubuntu Linux user. I’ve used Linux off and on since the first time I installed it at the age of 12 – trying to fix up old hardware with no clue what I was doing. But I really fell in love with Ubuntu when I started using it as my primary OS at work in 2015. Shortly thereafter, I also made it my primary OS at home and haven’t changed since.
So why do I like Ubuntu so much as a desktop OS? To be honest, one of the biggest reasons is because it’s become most familiar to me. I know what all the shortcuts are, I know how all my tools work, and it has all the tools I need. But it wasn’t always so natural for me, and I still chose to start using it many years ago.
The real reason I started using Ubuntu regularly and grew comfortable with it is because it was better than Windows for web development. In 2015, I was doing PHP web development and deploying my code to Linux servers. For that type of work, the developer experience is way better on Linux than on Windows (and macOS wasn’t an option at the time). In fact, I’ve come to believe that the developer experience on Linux is better than Windows or macOS for a lot of types of development. The primary reason for this is that when you run Linux, the software you run on your laptop is most similar to the software that runs on your servers in production. You don’t need to worry about odd differences in commands like sed. If you’re developing or deploying with Docker, you can run Docker natively on your laptop (no need for a VM layer) - which eliminates problems and makes things faster. Overall, there’s less friction between your laptop and your production environment and things work the way you expect them to in both places.
But aside from the software and tools themselves, I think Ubuntu provides a
great “Desktop OS” experience - particularly for developers. Although it felt
weird at first, I’ve really come to love Gnome
3 (I use vanilla Gnome on Ubuntu –
install vanilla-gnome-desktop). After using Gnome 3 for a while, the Windows
Start menu feels old and clunky. Also, package management is great on Ubuntu. I
can install most tools I need with apt-get. This feels better-managed and more
stable than Homebrew. And the Linux desktop experience has
really improved in recent years. I can find most software I want or need – even
if it’s not available in the Ubuntu repositories. Spotify, IntelliJ, VS Code,
and Chrome are all available and easy to install. Last time I installed Windows,
I was left with a bunch of crap (games and ads) that I didn’t want all over my
Start menu. When you finish installing Ubuntu, you’re left with a simple
environment for getting things done.
Given the wide variety of Linux distributions, why do I run Ubuntu? Why not Debian, Arch, Mint, or Fedora? Well, the first reason is because Ubuntu is a desktop OS targeted at desktop users. And because of that, certain things tend to work more nicely or look better than other distributions. But also, and perhaps more importantly, I use Ubuntu because it’s probably the most popular Linux distribution - particularly for desktop use. And while popularity itself isn’t a huge factor, it means I can google and find the answer to almost any question or problem. Which is really valuable for – again – keeping things running smoothly and getting things done.
Isn’t Linux Unstable as a Desktop OS?
Linux has an unfortunate reputation of being difficult to setup and use as a desktop OS. macOS shouldn’t ever have any driver problems since Apple controls both the hardware and software. And PC makers expect users to run Windows and therefore build drivers primarily for Windows. Which leaves Linux in a somewhat tough spot. I’ve seen my share Linux problems over the years, including a particularly ugly bug that broke my wifi on corporate networks back in 2015. But in my experience, problems like this seem to be happening less frequently. Ubuntu has good support for most common hardware by default. And the other good news that there are some ways to mitigate driver issues like these.
A lot of problems with Linux on the desktop are really issues with drivers for a specific piece of hardware. So, there are a couple things we can do to try to avoid these types of issues. One solution is to use slightly older hardware. With older hardware, it’s likely that any issues have been found and fixed already. Another solution is to use hardware designed for Linux. Companies like System76 build hardware that’s designed to be Linux-compatible. Even Dell and Lenovo offer Linux-compatible systems. With a laptop that’s designed or certified for Linux, you’re much less likely to run into problems, which really helps make Linux a worthwhile option as a desktop OS.
Why not MacOS?
I’ve used macOS before - particularly at some previous jobs, and I’m very comfortable with it. Most web developers I know prefer it (for many of the same reasons I prefer Linux) – it provides a Unix-compatible terminal inside a nice desktop environment. I think many people choose between macOS and Windows for their laptop, and never really consider Linux. And while macOS is also a good choice for development work, a lot of things feel slightly off to me compared to Linux. Instead of using apt-get, I have to use Homebrew. Docker works, but requires a VM layer. Many GNU tools are available, but they’re not completely compatible with Linux versions. Catalina doesn’t even use Bash as the default shell anymore. Overall, these are mostly minor complaints. But as I said at the start, everything’s a trade-off. For me, Ubuntu comes out slightly ahead, and I’ve been a happy Ubuntu user for 5 years and counting!