First published Jan. 17, 2019; updated Nov. 15, 2019

Let me briefly tell my Linux story. If you’re thinking about moving to Linux, and wondering how you’d do so, it might give you some pointers and inspiration.

The back story

My first introduction to the command line was in the 80s when I first started learning about computers and, like many geeky kids of the time, wrote my first BASIC computer programs. But it wasn’t until my job starting Nupedia (and then Wikipedia) that I spent much time on the Bash command line.

(Let me explain. Skip this paragraph if geekspeak bothers you. “Bash” means “ B ourne- a gain sh ell,” a rewrite of the class Unix shell “sh.” A “shell” is a program for interacting with the computer by processing terse commands to do basic stuff like find and manipulate files; a terminal, or terminal emulator, is a program that runs a shell. The terminal is what shows you that command line, where you type your commands like ls (“tell me what’s in the current folder”), mv (“move this file there”) and curl (“download that file from this web address”). The default terminal used by Linux Ubuntu, for example, is called Gnome Terminal–which runs Bash, the standard Linux shell.)

Even then, and in the following years when I got into programming again, I didn’t learn much beyond things like cd (“switch directory”) and rm (“remove file”). I thought that’s what Linux was all about. Little did I know.

It was then, around 2002, that I first decided to install Linux. Back then, maybe the biggest “distro” (flavor of Linux) was Red Hat Linux, so that’s what I installed. I remember making a partition (dividing the hard disk into parts, basically) and dual-booting (installing and making it possible to use both) Linux and Windows. It was OK, but it was also rather clunky and much rougher and much less user-friendly than the Windows of the day. So I didn’t use it much.

Linux on a virtual machine

When I decided in mid-2016 that I wanted to start learning to program, really really, more seriously this time, I knew I’d have to transition soon to Linux, especially if I was going to learn Ruby on Rails (which I was). There’s less pressure to do this if you’re a Mac user, since modern Macs make a Bash console easily available; OSX is based on Unix and so is a sibling of Linux. Anyway, if you don’t want to plunge headfirst into Linux-only or dual-booting, then the Thing To Do, beginners are rightly told, is to install Linux on a virtual machine.

A “virtual machine” (VM) is a program that, generally, runs in Windows or Mac and allows you to run a completely distinct operating system within a window (or in my case, two windows, one for each monitor). When I turned on my computer (i.e., the physical machine with the on switch), I booted into Windows as usual. But when I wanted to start programming, I started the VM and, inside the windows that popped up, it looked like a separate Linux computer was running within a window. It was easy to switch back and forth; you can do so with the click of a mouse.

One of the first things I had to decide was which distro (flavor of Linux) to use. Leading distros include Ubuntu, Mint, Elementary, and Zorin. I chose Ubuntu because it was (and is) popular, relatively stable, well-supported, and relatively easy for newbies to get into. I find Ubuntu running the Gnome desktop environment—I’m not going to bother explaining what that means, but different distros can run different desktop environments—to be a pleasure, as I’ll explain later.

My precocious son H., then age 10, had already set up a VirtualBox VM, so I had his help installing Linux in one myself. Installing Ubuntu to a VirtualBox VM is not terribly easy if you’ve never done it before, but there are plenty of tutorials and free help to be found online. If you’re moderately technical, you can do it. It’s not that bad.

Why I decided to install Linux on a partition…and to ignore the Windows partition

I used Ubuntu in VirtualBox for a couple years. It was a great way to transition from Windows to Linux; I ran Linux on a VM when studying programming, and I ran Windows for everything else.

Then came 2018, with its stunning revelations and outrages by Facebook, Apple, Google, and others. With privacy and free speech—in short, digital autonomy—deeply under threat, I decided to lock down my cyber-life. (I encourage you to do the same.)

I’d wanted to run Linux on a partition for a long time (doing so is quite a bit faster and more seamless than a VM). But when all these giant, centralized corporations showed such contempt for our privacy (and thus our security) and free speech, I decided that I was going to do all I could to take my data out of their hands. Microsoft is and always has been terrible when it comes to security, but with Windows 10—though admittedly an improvement in UX—they jumped on the privacy-violating bandwagon. Windows 10 bothered me ever since it came out. Now finally I decided I’d have to do something about it.

See, I’ve always thought information privacy was important, but like many of us, I rationalized the increasingly jaw-dropping privacy violations and security failures by corporations (and government, for that matter) in the last ten years or so as the price we pay for awesome new technology. You know—awesome new tech like Facebook, Twitter, Google Search, Google Chrome, cloud storage, and a free but better-designed operating system like Windows 10 was (at launch). At first, all this seemed indeed worth the price. (Or enough to keep me from taking the privacy issues seriously.) But when these corporations (and government) over and over brazenly demonstrated just how much contempt they have for our information privacy and security, not to mention free speech rights, the bloom was off the rose. Something snapped, and I’m never going back to them.

Privacy matters. A lot. Facebook? Don’t need it. I’ll be switching back to good old-fashioned email groups soon. Twitter? OK, I might keep it around, until a viable decentralized option emerges. Google Search? Meh, DuckDuckGo has come a long way and is as good as Google for most (still not all) purposes. Google Chrome is simply not better than privacy-respecting browsers like Brave (my preference) and Firefox. I’ll be moving my data to a more secure solution than traditional cloud storage soon.

A few days ago, as I worked through my to do list, I finally decided it was time to ditch Windows and switch to Linux. Updating this post 11 months later, I can tell you that I never looked back. I did no work on Windows ever again. Even basic video production is easy on Debian-based systems (like Ubuntu and the others listed above) with Kdenlive.

The switch

There are five basic steps to the process of adding Linux to your Windows machine (adding it to a Mac can be more difficult; check first):

Pick a distro. Put the distro on a thumb drive or DVD so you can boot to it from there. Create a partition big enough for the Linux distro. Install the Linux distro in the partition. Configure Linux to your liking (e.g., install the free software you need) so you can use it on a daily basis.

I won’t explain how to do these things (there are lots of tutorials already available, like this), but here are a few notes. And for the non-techies out there who have bravely read this far, let me tell you: the hardest part of using Linux is installing it. Even that part isn’t that bad, but don’t feel bad if you need to get help. Heck, I’ve installed it myself before my 12-year-old son was born, and I wasn’t too proud to get a lot of help from him the second time around! If you don’t have a family or friend who can help, and you have to pay a rent-a-geek, it’ll be money well spent.

I discussed #1 above. Notes on #2 and #3: Creating a partition is a pretty simple process. But if you’re going to use a Linux boot loader (i.e., the thing that tells your computer which operating system to load; I use Grub) then you’ll first want to put Linux on a thumb drive, since it’s typically quite small and easily fits, and boot to that. Then you’ll probably use GParted (the Linux partition software) to actually do the partitioning. You’ll want to make sure you actually know what you’re doing (so, read up about potential pitfalls) before making any changes. It’s also very important to make sure your must-have data is well backed up, because you might lose it. If you do it right, there’s little chance you will; but there’s always a chance. Also, make sure you allocate reasonable amounts of space to your respective partitions. You don’t want to run out of space on either one.

As to #4, actually installing Linux, once the partition is ready, is actually the easy part. The hardest part of this is probably putting the distro you want on a thumb drive; and that’s not hard. It takes a little while (i.e., waiting), then you set your time zone and a login (very important to make your password both memorable and strong, as you’ll use it a lot), then you’re done!

The easiest part might be #5, but you’re not totally out of the woods yet. The Ubuntu Software app is like a free app store (it’s not the only one, of course), and they’ve made it quite easy to install a lot of free software. And the software is good. You’ll be amazed if you remember, as I did, Linux software from 15 years ago. If you’re programming or mucking about with the innards of things, though, you’ll have to use the command line at least sometimes. Even the basics of that get a bad rap—the basics are easy. The most important thing to remember here (and maybe for the whole process) is: do intelligent web searches for help whenever you need it.

There’s nothing magical or particularly deep and difficult about any step of this process. It just requires a little bravery, lots of Internet searching, time, and patience, and you can definitely get it done.

So…how is it?

So far, I love using Linux (OS kernel), Ubuntu (distro), and Gnome (desktop environment) as my main workstation. I actually hate it when I have to boot up Windows. Not only does it feel clunkier (really) and more unnecessarily bloated, I can’t stop thinking about how I don’t know what data is being sent to Microsoft. And as I update this 11 months later, I can tell you, I feel no need to mess around in Windows anymore, period.

If you haven’t tried Linux for a long time, let me tell you: it has changed a lot from the early days. It is not just more usable than it was, in some ways it is more usable than Windows or Mac, in my opinion, for day-to-day work. It’s not a sacrifice. I mean, of course this applies if you can deal with a few unfamiliar challenges. But if you don’t mind learning a few new things (as you would switching to any new, easy-to-use operating system), Linux is more usable, not just because of the nicer UX available, but also because of how configurable Linux is. You can change almost anything on the system you want. Want some software for productivity or games? Download it for free. You want a different look and feel? There are apps for that. You want a different sort of app store? There are alternatives. You want something simpler and leaner? Available. Something that looks and feels like Windows or Mac? Available, of course.

One big exception is in installing some technical software that, if you aren’t a programmer, you probably won’t need to install. If for whatever reason you want or need to start using the command line (for example, running Bash on a terminal like Gnome, as I said above), try this beautifully written tutorial. Again, the command line isn’t that difficult to learn. The basics are rather simple once you get the hang of them.

Another big exception lies in the sometimes non-standard and quirky ways the software sometimes behaves. Again, this is much better than it was in days gone by, but there is some small amount of lingering quirkiness or difference—probably not more than there is between Windows and Mac, though.

A final difficulty is that it has some occasional, and almost always very minor, operating system issues. These are always easy to work around and quickly fixed. At the current writing, I have no issues of any sort, and haven’t had for many months.

But enough of the negatives. One enormous positive that neither Windows nor Mac is likely ever to be able to boast is that it’s an operating system that respects your autonomy. You own your system, not Microsoft or Apple. You don’t have to ask a giant corporation for permission to do anything. You don’t have to worry about them invading your privacy, putting your data at risk of hacking, trying to control what you download, or censoring you. And you have all the tools you’ll need to make the system just the way you like it. That might not sound like a big deal, but if you try it, you might find yourself delighted with all the options. I was.

In summary, here are the similarities and difference to a typical desktop (Windows and Mac–I have both) experience:

Browsing is exactly the same as in Windows (I use Brave).

My mail program is exactly the same (MailSpring; but I later moved to the tried-and-true Thunderbird, which I like even more).

Other apps, like Telegram, Slack, and more, are exactly the same.

My password manager is almost exactly the same (Enpass).

For the long tail of specialist software, most of it is free, and you don’t have to worry nearly as much about downloading viruses. Linux is much harder to hack and hackers rarely try.

Finding and loading software is different. It’s better in that most of the software is free of charge, open source, and quite easy to find, and there’s a lot more of it. It’s worse, however, in that more technical software (at least, the stuff I use) requires comfort with the command line. This is a deal-breaker for some non-techies, I know. But I think most of the software non-techies use will be easy to install and not require the command line. Ubuntu developers put a great deal of work into usability, and it shows.

A lot of the free/open source software for office work is “fine” but will strike experienced MS Office users as a little quirky in places. Office 360 doesn’t run in some flavors of Linux except using Wine, which doesn’t always work (my son uses Wine for some purposes). I don’t use Microsoft Office anymore at all—no reason to. LibreOffice (both the word processing and the spreadsheet programs) is great.

Linux is generally lean and fast. Unless you install a particularly bloated distro, it’s much faster than Windows or Mac on the same machine. It’s way faster for me to start up the computer and open apps. This is a very nice benefit.

If you’re a serious gamer, Linux might not satisfy you, but it’s getting better and better. E.g., Steam and Minecraft are both available on Linux, and plenty of other games are.

It can be subject to very occasional weird but non-serious crashes and problems solved with updates. Don’t worry about this—really, it’s OK. It’s a hell of a lot better than Windows in this regard.

Back in 2002 when I was using Linux the first time around, it wasn’t really ready for prime time. But it is now. You kind of have to be able to search the Internet and read some help pages in order to learn get up to speed on a few things, or get help from someone who can explain stuff. It is, after all, another whole operating system. So, yes, there’s still a learning curve. It’s not a huge learning curve, though, and not nearly as big as it used to be.

Linux: it’s not for just uber-geeks anymore. There is probably a minimum intelligence requirement, but that would be true of anybody switching to any new operating system. Linux distros in late 2019 are pretty much foolproof. You should try it, ditch the giant, controlling corporations for good, and instead support open source software developers who are contributing directly to the public commons.