2024 - My year of the Linux desktop

Posted by ryansouthgate on 18 Sep 2024

I’ve been a Windows user since first using a mouse. Windows 10 will be the last version of Windows I’ll daily drive, and here’s why…

Introduction

My first operating system was Windows 3.1 - when my uncle gave us a computer he no longer needed. From that point on, he helped me keep up to date with the latest versions of Windows (with hardware upgrades to match). Over the years, Windows has been a constant in my life, I’ve used pretty much every desktop version of Windows, and most Windows Server OS too. It’s been familiar and reasonably dependable (a format/re-install sorts all issues 😂), I’ve not really had any reason to change. But recently, with Microsoft’s push for AI, Tracking and UI updates (just for the sake of change) - I’ve started to look elsewhere.

Work

I’ve always worked with predominantly Microsoft technologies (.Net and C#). After graduating from University, my first (and only) permanent job was at a Financial Services Software House - I was there for nearly 6 years and a laptop was provided to work on. Windows was the default operating system on all staff laptops. The laptops had great specs, however the sheer amount of anti-virus, vpn, anti-malware software and security services installed, made the laptop slow and a literal pain to use.

Every few years, staff were given new laptops with the latest processor and (if you were very lucky) more RAM than previously.

They felt quick for the next 6 months, but always slowed with age, windows rot inevitably set in.

Contracting

My last 8 contracts have required me to bring my own machine. I much prefer this to company provided devices - as I have my machine configured just how I like it, which means I don’t spend my first day setting up a fresh laptop. I’m ready to hit the ground running with a machine I’m familiar with, which means I’m efficient from the outset. That saved time can instead be spent learning about the business, codebase and processes.

I’m also in full control of my work hardware, which means I control what programs/updates are installed.

As a contractor it’s my responsibility to ensure I provide efficient services to my clients - if I have a poor machine, where software builds take too long, installed software slows down the machine, or it breaks due to dodgy updates etc - then I’m not providing good value for money/can’t work.

Home Services

Over the past few years I’ve been building out a HomeLab, for learning and to host services on my home network that are useful; Plex, Home Assistant, PiHole, Reverse DNS, MQTT, Rclone etc. These services are installed on a number of spare Raspberry Pis I’ve had hanging around. Given that Raspbian (a Debian derivative) is the OS of choice (headless - as my devices are in a server rack in the loft and don’t have a screen), it’s meant I’ve had to get familiar with Linux and the CLI. I’ve been slowly learning Linux by using and configuring these devices and services to fit my needs.

I’ve become more comfortable with bash scripting and just generally “the way linux does things” - and grown to really enjoy using it.

Old Laptop

An old 13" Dell laptop collecting dust was the guinea pig to try out a Linux Distribution. I downloaded the Ubuntu Live image on a USB stick and set about inserting into the aging laptop and waiting for it to boot. To my suprise, it loaded up very quick (even though it’s running from RAM and a USB stick). I had a play around and didn’t really enjoy the desktop experience - it’s too different from the desktop experience you get with Windows.

As I was getting my toes wet, I didn’t yet want to start installing different window managers and straying too far away from the defaults. I knew that for me I’d prefer a more iterative process, something where I can make incremental changes, once I had more experience. I wanted to stay close to the default setup so I could properly evaluate the system, rather than making a ton of changes by using bash scripts found on the internet, where I’d be unsure if problems were a change I made or something wrong with the OS itself.

I did a bit of research and came across Linux Mint - with it’s “default” desktop experience being Cinnamon - looking familiar to the Windows desktop experience. I wiped the eMMC storage in the laptop and installed Linux Mint on it - it was a quick install and the thing booted up in under 20 seconds, much quicker than Windows 10 on the same device. For months I used this laptop mainly for web browsing around the house, watching YouTube and odd jobs. I even installed JetBrains Rider on it and could edit, build and run C# code on it. Something which was impossible when Windows 10 was on it.

.Net Core

.NET Core (now .NET) going cross platform has been a big shift for the community. No longer are C# devs reliant on .NET Framework and more and more devs are running .NET on Linux. Linux hosts are cheaper than Windows in Azure, so it’s no-brainer to start working with Linux more.

Linux Mint

I started daily driving Linux Mint in Jan 2024. I’ve not looked back, the computer is still as fast as it was back in January. The OS is super simple, it gets out of my way, and it’s not being infected with AI/tracking.

Here’s a few pros/cons about Linux Mint.

Pros:

  • Heavily customisable - I’ve added functionality to various bits of the OS, not limited to Nemo Actions in the file explorer
  • Faster - I’m not constantly disabling startup applications that have re-enabled themselves after a Windows update and my computer isn’t busy monitoring everything I’m doing and sending telemetry off to Microsoft
  • Updates - I really don’t notice the updates, there’s no annoying “Restart your computer to update” notifications, and I’m not constantly nagged about installing updates
  • Support - Linux Mint is based off Ubuntu, which has a really good support window. Version 21 of Mint is supported up until 2027 - I can upgrade (in place) to 22 with a simple command, and then I’ve got support til 2029
  • More Static - the Linux Mint UI does not undergo drastic changes every couple of years. It stays familiar, functional and slick. There’s also only 2 ways of doing things: GUI or Terminal. Not 2 different UIs like Windows (I’m looking at you Control Panel and Settings App)
  • Applications - 99% of my applications are managed through the Mint Software Manager. There’s no long wizards to click through, with loads of tickboxes that need careful consideration - otherwise they install browser toolbars, malware etc. All my applications install the same way, they’re managed and updated in the same place, and can be easily removed in (you guessed it) the same place
  • Telemetry - my OS isn’t spying on me, it’s not advertising to me, it’s not suggesting paid-for services, it doesn’t come with any pre-installed crapware (Candy Crush etc). I’m in control of it and I own it, it doesn’t do anything I don’t want it to

Cons:

  • .NetFramework only on Windows - not all my clients have migrated to .Net (Core), so sometimes I have to load up a Windows 11 Virtual Machine and work on .NetFramework code. Luckily this is becoming less frequent
  • Application Compatibility - the only application I miss is Visual Studio, it’s a fantastic IDE and a joy to work with. Unfortunately - Windows only. I’ve been using JetBrains:Rider for the last few months - and am learning to love it too. There’s not been any other applications I’ve missed, there’s lots of Linux Alternatives to popular Windows Applications - and these are a breeze to install and use.

There also needs to be a big shout-out to Linux here, it’s getting better at a rate faster than Windows. Maybe Windows is finding it hard to innovate, and stagnating, which is allowing Linux to catch up? It’s interesting to see Steam embracing Linux and games becoming more compatible on Linux. Their investments so far, and their future investments, in my opinion will see Linux adoption increase further.

The whole “year of the linux desktop”

For me, I’ll be sticking with Linux Mint. It’s super stable, it’s efficient, it gets out of my way and allows me to get stuff done. I’m not constantly figuring out why things are going slow, or restarting to install the latest updates which track my computer usage further. It leaves me to get on with things.

I prefer the control you get over the operating system, I began to feel like I was working for Windows 10 on my laptop, rather than it working for me. In the end, that laptop was consuming 10GB out of 16GB RAM after being booted, it was sluggish from the outset. My Linux Mint install boots quicker and uses only 2.4GB of RAM (out of 32GB). It’s leaner by default.

I’m also not a fan of constant change - for change’s sake. The Linux Mint Cinnamon UI doesn’t undergo drastic changes every couple of years, I don’t want to spend time getting aquainted with new UI paradigms, I want something I’m familiar with - that just works!

There’s only one Windows machine (Surface Pro) in the household now, which I want to install Linux on because it barely runs with Windows. The other 8 devices in my house all run Linux, this didn’t happen overnight, it has grown over time. They have all been rock solid over the years and years I’ve run them, and I want that for my daily driver too!

Your “year of the linux desktop”

Linux is not for everyone, there are people who wont get on with it. For example, I’d never suggest it to my parents, they’re ingrained to using Windows - and Linux wouldn’t offer them any tangible benefits.

I’m not a preacher, it makes no difference to me if you’re using Linux or not. But it might be worth a try, I was comfortable with Windows - it kind of worked some of the time, but I’m certainly more productive and happier with Linux Mint now.

If you never try, you never know what you might be missing!



comments powered by Disqus