Migrating to Linux
Posted on Tuesday 25 August 2020, 12:32 - updated on 04/01/21 - Permalink
Two days ago, I flashed Slackel, a Slackware-based Linux distribution, to a USB drive and installed it on my computer. A change of routine, for sure - I'd been using Windows full-time since January after finally giving up on desktop Linux at the time. It just worked, I knew it like my own house, and I could get things done on it quickly and reliably. Contrarily, I didn't feel nearly as fond about desktop Linux. Each time I installed a distribution - be it Ubuntu MATE, Q4OS, Puppy Linux, Arch Linux, Antergos, Ubuntu itself, Kubuntu, Xubuntu, every other *ubuntu - it only took me a week at most to break something, find something wrong, have something break on me, or realize I couldn't find an equivalent to some Windows program I used regularly. I'd then wipe the system and, in some cases, install another distro to again come across one of the problems I list above, or I'd install Windows 7, 8.1, or 10 and "be done" with Linux for a while—until I come back to it and repeat myself.
Let me also mention theming and style. I value the way my system looks, because it tends to influence the way I use it and feel about it. Without something like OpenShell (ClassicShell's author has discontinued his original program at around 2017; OpenShell is an updated fork), Windows 10 bugged me with it's hair-thin, microscopically outlined tray icons—they look pixelated and blocky to me—crooked start button, and otherwise sharp, borderless styles on everything. How "modern." In any case, though its overall theming didn't appeal to me, I simply ignored it because the system sure did work - it functioned almost exactly like Windows 7, an OS I've probably used for three years straight at one point, and did that work fast enough to not annoy me. My workflow, if you will, was totally Windows-centric.
But now you see the problem, don't you? All those times I tried Linux, I never quite made any effort to shift my workflow and fulfill my switch to it. I expected Windows-like quirks where I couldn't find them. Come to think of it, after spending lots of time using Slackel and now Debian (I'll elaborate later), I've never, ever planned an OS migration. I just wiped and installed and expected to find what I needed without adjustments. That's why, on finding out about Slackel, I remembered my woes with Linux before. But I wanted to find out how its beautiful desktop, Clearlooks theme and all, would look on my screen with my own programs running.
That's what initiated the switch: looks. If you couldn't picture how much I value the way an OS looks when I told you above, now you definitely know. It makes me switch operating systems at the expense of the time it would take, for example, to shift my workflow. Just to get it looking good! But I guess, too, that I had been ignoring how much I didn't like the way Windows 10 looked for so long that finally seeing a nice and consistent desktop made me want to jump up and down.
Slackel and Slackware
Before wiping my system and installing Slackel, I wrote down, with pen and paper, all of my installed Windows programs from the "Programs and Features" window. Through a virtual machine and later a live session, I made absolutely sure that every single program, whose purpose was applicable to Linux (even if it existed, for example, I won't need or want OpenShell in Linux), had a recent version, and installed without difficulty. If you've used Slackware before, you know that you need to compile most of your programs and resolve their dependencies yourself - unless you're using some kind of a package manager.
Of my programs, I found and compiled maybe forty with success. Two turned out useless or unavailable in Linux (like OpenShell). But let me tell you this: I spent one entire day and half of another doing this. Really. Most were easy, things like Pale Moon, Thunderbird, et cetera. They took about a few hours altogether. But other ones like Wine (for a single program that had no easy equivalent) didn't come nearly as easy. Because I'm still a novice when it comes to this, I took about two hours figuring out how to fix my errors using the SlackBuild for Wine 5.0.1. Another hour building, but I realized that that one was using just one thread, bound to take several more hours using 10% of my CPU, so I killed it and started a new one with three threads. That finished in another hour.
I'd be lying if I told you that I compiled everything. Common programs I installed with their binaries using gslapt, a program like Synaptic that comes with Slackel. What a luxury—having prepared binaries that you can install in five seconds. I can't imagine compiling QT5 myself.
To cut a ramble short, I used this Slackel system for two days before, yes, I broke Python2 trying to compile Youtube-DLG (the only precompiled version available was from 2016). With this, my network manager and several other core programs I was too lazy to replace simply wouldn't run. I didn't want to give up on Linux again, though. This installation, unlike other broken ones, left a good feeling. I tried, got far, and only tripped along the way. And I wanted to keep the great theme and the stability. I felt like I was using a rock-solid system. I thought it was time I stood up and took another step rather than back down completely.
Debian ... and about compiling
But, frankly, I didn't want to go through another miserable two days of compilation and tweaking. I had an idea: I could grab a copy of the GTK theme and icon set from /usr/share/themes and /usr/share/icons. Then I could install MATE on Debian, reinstall the themes over there, re-set the beautiful wallpaper, and have a near exact replica of the system I had working so well before I broke it.
Never before had I appreciated apt and apt-get as much as I did when I had this Debian system up and running. I installed all of my programs save three in under two hours. Compare that to the two days I spent compiling (and figuring out how to compile) my programs, let alone the hunt-and-peck game of finding obscure dependencies - some of which I could't find and had to compile myself. Sometimes, though this is rare, you might even need to compile every dependency to then compile the parent program. And then solve compilation errors. You'll never be truly grateful to have finally installed a functional, stable program until you've gone through this puzzle-solving process.
Don't let me steer you away from ever trying it, though. It's fun, frustrating, and especially rewarding. Your resulting system is yours, built and put together by you alone. You'd have installed every package willingly and purposefully if you resolved dependencies yourself. Every package, in other words, has your fingerprints on it. That's the benefit of using and maintaining a Slackware system.
Yet, if you're someone like me and don't want to build up every little bit yourself, because of the time and effort involved, you'd be right in choosing a distribution one step easier than it like Debian. Two days to Slackware compared to two or three hours to Debian. In one you have a deliberate and almost entirely handbuilt system, in the other you have ease and more automation.
Something itches in me to turn my ThinkPad netbook, currently running the Elaboraet Wordpress server, into a Slackware playground . . .
As I write this sentence, I'm running a Debian system with Slackel's theme and icon set. Rare as it seems to myself, I currently have no inkling, sincerely none whatsoever, to switch back to any kind of Windows or other OS. I'm thinking this is because I actually planned out my migration this time. Who knows how long it'll be now before my next OS hop. Let's hope this is the last one for a long while. I need to get some real work done. With computers, I too often focus on my means rather than the ends to those means. More on the things that get my work done than the work itself. With this new system, then—one that I actually seem to enjoy using!—I hope to end this OS-hopping habit.