Linux switching mistakes

A long while ago I used to run a Linux desktop full time. Then for various reasons I got sucked into the Apple rabbithole and spent years running a Mac as my desktop.

For all its faults, either in principle or in practice, the Mac runs really well. So my various attempts to switch back to Linux have come to nothing until recently. I realise that I've made various mistakes trying to make that leap, so as much for my own reference as anyone else's, here they are.

Bad hardware

More than once I've bought or been given an old laptop and tried to use it to set up a Linux system that would be compelling enough to encourage me to switch from the Mac. This has always failed. The Mac hardware is really good (as long as you're not trying to repair it) so most alternatives are going to suffer by comparison. Once you're used to a good screen, good keyboard (this was before the dreadful butterfly switches), good trackpad, good sound, etc, you feel the pain of using anything obviously inferior. Who wants to switch to a worse system?

Now I'm running on a ThinkPad X270 with my own IPS screen upgrade. (That's very easy to do on this model and not expensive either. Perhaps that's for another post.) The ThinkPad has got double the RAM and storage of my Mac, a better screen and a keyboard that's about as good. The trackpad isn't quite as good but overall it's in a similar league. It runs fast, cool and silent with my current setup and never feels like it's struggling, unlike many of the old laptops I've tried down the years.

So lesson 1: Get some decent kit to run your new system.

Doing it all at once

The more things you do on your old proprietary system, the more software you'll need to find and learn to replace those things. Some apps might just run natively so you can do a like-for-like swap: If you're a Firefox user that's easy. But many apps won't run on macOS or Windows and Linux. The process of working through every last use case can be a lengthy and tedious one and if you try to do it all overnight it'll probably be an overwhelming task.

So this time I've taken it gradually, one thing at a time. Over time I've found myself using my new system more than my old one. The new system has gradually become my primary one as I find or learn each new app.

Lesson 2: Phase it in rather than go for the big bang.

Doing it for other people

Everyone gripes about their computers, so it's likely that your friends and family have niggles, or major issues, with their Macs, Windows PCs and Chromebooks. What better opportunity to convert them to a better system running free software?

But trying to find a Linux setup that works well for you and a whole cast of other characters who have different abilities, interests and tolerance for learning new things is a practically impossible task. There's no need to put a constraint on yourself that what works best for you has to be acceptable to anyone else. The further those people are from how you use your computer the more likely this is going to be a futile exercise that just constrains you from finding your own best setup.

Lesson 3: Do it for yourself, your way, and let other people take care of themselves. If others like what they see they might try your setup out but there's no reason why you should be trying to please anyone other than yourself.

Trying to replicate your old OS on your new one

Linux is Linux. Windows is Windows. MacOS is macOS. ChromeOS is ChromeOS. These things are different. Each takes its own approach. Sure, there's a big overlap. Fundamentally they're all trying to do the same thing: Provide a secure platform for you to run apps which arguably do the same things. You'll find a web browser, mail client, text editor, spreadsheet and file manager on all these systems. But they're also separate for a reason. Each has its own culture and history. Each has its strengths and weaknesses. Of course, so much stuff runs as web apps in the browser that taking your Gmail from one platform to another is a no-brainer (assuming you want Google to have all your mail in the first place). And many modern apps have Linux versions or are designed to run cross-platform on things like Electron.

But I wince when I see people trying to theme FreeBSD like macOS or going to bizarre lengths to get proprietary Windows apps running in WINE on Linux. If you want to run macOS or Windows _you just can_. No-one's going to stop you and I really don't care.

Worse still are people who have unrealistic expectations. The comparison has often been made but if you really thing that the elementaryOS Linux distro is the new OS X Snow Leopard then you're going to be disappointed. It doesn't claim to be, and like everything else, it's its own system that should be approached on its own terms, good and bad.

Another variant of this is being too attached to your favourite apps on your old system. If you allow them to become dealbreakers then you certainly won't be going anywhere. Change doesn't happen without leaving old things behind, even your favourites. If you can't do that, stay where you are.

Lesson 4: Take each new system that you try on its own terms. Of course you're going to make comparisons with the systems you're familiar with, but like moving from one city to another, if you expect your new home to be like your old city but with ... then you're going to miss out on appreciating where you are.

My new system

My new system is about as far from macOS as it's possible to go. I'm running a very minimal OpenBSD desktop with the suckless.org apps: the dwm window manager, dmenu, the st simple terminal emulator and surf, the one-tabbed browser. I haven't even attempted to find a graphical file browser to replace Finder. I can manage fine moving files around in the shell. I've got no idea whether the Atom editor works on here but I'm enjoying using vim for all that now. Apple Music has given way to the curses-based music player cmus - a more dramatic contrast would be hard to imagine.

It wasn't my original intention to end up with this kind of system (for now, of course) but that's how it's worked. I hopped around a few heavily graphical Linux distros and really disliked them all. I tried dwm on one of them one day and while it was obviously a bit cryptic to start with I appreciated the calm. Working it back from there I realised that I needed very little to run a fast, functional and stable system. OpenBSD provides a robust and incredibly well-documented base. Configuring everything in text files gives me more time to practice my vim-fu.

If there's a lesson here it's just to keep moving forward, keep your preconceptions to a minimum and have a general direction of travel to follow rather than a specific destination in mind.