I recently switched the distro I use on my laptop, and I felt like writing about it. This isn’t gonna be something with great insights or whatever, just a day-in-the-life thing.
I started using Linux quite late in life, I was already 27 or so. The first home computer we had, this was a thing around the millinium switch, ran Windows 98. Later we got Windows XP, which I quite liked. One thing I missed from Windows 98 was how you could theme the whole desktop by changing all sorts of colours. Windows XP was a bit more rigid in that, but I did very much like the theme it had by default, so there’s that. Eventually, however, I was forced to switch to a different OS. Windows XP wasn’t supported any more, and, while I tried running it for as long as I could, websites eventually started to break. I had to switch to Windows 7, still Windows, but so, so different. It was like having to relearn a whole OS and I didn’t like it at all. From that point on, my computer interactions remained more superficial, and mostly constrained to the browser.
Somewhere around 2016 I think, I had a new laptop by then, who ran Windows 8, Microsoft started announcing Windows 10. I understood immediatly that this meant I would have to relearn an OS again. I had already heard about Linux, and recently saw someone use a Linux distro. They also told me about Free Software, and this resonated with me a lot. I decided that if I have to relearn an OS anyhow, I might as well learn a completely new one. And so I eventually switched to Linux Mint.
It was an awesome experience. One thing Windows XP had, is that software in the start menu was nicely grouped together by category. The problem, however, is when you installed new software, say a new game, it would not show up with the other games. It would make a new “category” for the company who released the game, and show it there. In Windows 7 this was “fixed” by simply not grouping the software anymore. To me this felt like such a small potential improvement, and they just stepped away from it completely. It was a very nice surprise to see that with Linux Mint I didn’t only have these catagories back, but that they are even properly used for newly installed software too! Another thing was that theming was possible again, way beyond what Windows ever allowed. I also remember being quite impressed with the text editor that came by default. It started just as fast as Notepad, did generally the same, but had all these extra quality-of-life things.
It took me a while to get my printer working, and knowing how much problems I had with getting my eID reader to work on Windows, I kept a Windows installation for the rare times I needed those. Eventlually I got the printer working properly, and when I decided to look at the eID reader, it turned out to just work out-of-the-box, amazing!
Anyhow, I was always interested in understanding how things work, but I really feel like Windows just made me run against a stone wall with regard to understanding computers more, so I focussed my attention to other things. With Linux Mint, I was able to dig so much deeper into the system and do so much more than I ever dreamed of.
There were some problems, though. One I remember is that if I wanted to play a N64 game (I have the console and games, but sometimes it’s easier to just start from your laptop, rather than having to set up the console again), I could use Project64 on Windows. Linux has Muped64, but doesn’t have a graphical interface by default. It’s possible to install it, but for some reason didn’t work on Linux Mint. This made it all a bit cluncky. Either I had to install Wine and run Project64, or I had to run from the command line.
Eventually I wanted to try some other things. By then I was already running a Yunohost server, and I had a phone running Ubuntu Touch. I wanted to reinstall my laptop, so I decided to try Kubuntu, because I’ve heard good things about KDE. And, oh boy, do I love it! It looks really nice, has lots of options to make it feel and look like you want, and there’s a whole ecosystem of aplications. I didn’t fully utilise the eco system, though. I mostly used it as a platform to run the software I typically used; Firefox, Thunderbird, Rhythmbox… One problem I saw was that Caniconal, who maintains Ubuntu, pushed to use Snaps. I think there’s cases where makes sense to have certain end-user applications be installed without really integrating into the system, think about phones using a read-only file system for the system itself. But I’m not convinced that a Desktop OS should do that, at least not in the “everything goes through the filesystem and permissions are handles by user” paradigm, and I’m hearing people smarter than me complain about technical sides of Snap too. I uninstalled all Snap packages, removed Snap itself from my system, and “pinned” it so that I wouldn’t install it again through the package manager by accident.
Meanwhile, Firefox was also going down the drain. I remember them removing Flash, before the web was ready for that. They lost a lot of the less technical users that way, pushing them into the data-slurping claws of Google. I remember they wanted to rebrand with a new icon. They had a whole list of things they wanted the icon to represent, one was stability. Call me nitpicky, but if you want an icon who represents stability, the one they had was just that, and now they showed they wanted to break from it. Over time they made more and more questionable decisions. I remember going to Fosdem in 2017, and there was a Mozilla room. I went there for a while, and the then CEO was saying how pro Free Software and pro users Firefox is and stuff, but it all seems like baloney sales-talk to me. First I switched to LibreWolf, later I tried installing ABrowser from the Trisquel repos. A couple of weeks ago, I decided that taking a complete break from Firefox was perhaps the best option.
By now my system had already become a serious hack. I had already added $HOME/.local/bin to my PATH and linked Busybox sh
so it would use that instead of whatever Ubuntu uses by default. I had a Python virtual environment in $HOME/.local/opt for too many things I couldn’t get from the package manager, and linked to the executables from $HOME/.local/bin. I added the Trisqual source list, and had a some other, more specialised source lists for specific software. And of course, I removed Snaps and pinned it so it wouldn’t reinstal.
With some new shenanigans that Mozilla pulled, I decided to switch away from Firefox browsers completely. After trying some out, I decided to go with Falkon. What I didn’t realise at first is that it’s a part of the KDE project, which makes it even better to me, because that means it has a good community behind it. One problem it had, is that it relies on QTWebEngine, which is part of QT and a wrapper around Chromium. There’s actually two problems here. The first is that it means I’m giving Google’s Chromium engine more market share. The second is of a more practical nature; The way it’s packaged, it uses QTWebEngine from the system. But on Ubuntu, that’s already quite old. Several websites didn’t work, or didn’t work properly. I tried the hacky options of using Flatpak, or even enabling Snaps again, but this had other problems. Eventually I decided I needed to break away from Ubuntu too, and switch to something better for my needs.
The question then becomes; “What are my needs?” I wanted to use Falkon because I really, really like it. It has the features I want from a browser, without overdoing things. But that means I need recent enough packages. I also had recently done a complete Ubuntu upgrade, but those are always a bit scary to me. Due to these points, I decided I wanted a rolling release distro. I also want KDE and use Falkon, so obviously these need to be packaged for the system. And I don’t want it to rely on Flatpak or Snaps. And, of course, it still has to be properly usable, and not break at the slightest upgrade. Eventually I found three rolling release candidates I wanted to try. OpenSuse Tumbleweed was the first. My first impression was good. The installer made things go smoothly and it had the KDE desktop out-of-the box. The problem is that it didn’t have much other packages natively. The only way to get Falkon was through Flatpak. I then looked further and decided the next two options were either Manjaro or Debian Testing. The thing is, I’ve mostly used Debian based systems. But this time I thought it would be interesting to try something else. Besides, the Debian project itself advises against using Debian Testing as a “daily driver”. And so, Manjaro it was.
I wanted to switch to a different laptop for a while. My laptops are all old, and the one I used already had hardware problems with the audio, and battery not working any more. At first, I installed Manjaro on the “new” (i.e. old, but one I hadn’t used before myself) laptop, just to get a feel for it. It was pretty amazing. You can choose KDE during installation, and it has a ton of software available. Normally KDE uses Discovery for installing software using the graphical interface, but Manjaro uses something called Pamac, and I decided to keep using that since it came with the system. I quite like Pamac actually. It does what it needs to do (find and install software), you can check different packages to install, and then install them all in one go, and for optional packages it asks you which to install extra. I haven’t really felt the need of installing through the terminal, which I think is pretty cool too. For the rest, I try to use KDE packages as much as possible. Obviously I use Kate, it’s by far the most powerful text editor I’ve seen in a graphical environment. But I also decided to use Kmail instead of Thunderbird. I’m really impressed with it. I had to do some tweaks with settings, and now I have a mail client I actually enjoy having. Falkon runs perfectly. And the terminal application, Konsole, is amazing. I did do some tweaks, though. By default it uses zsh, but I didn’t really like how it handles output. I was able to easily change to using sh, without having to do crazy hacks. I just changed some settings. Konsole also allows separate tabs, which is pretty cool. When working on Akkoma-fe I often need three terminals open. One to run Akkoma (BE), one to run Akkoma-fe, and one for things like grep
and git
. Now I can use one window with three tabs, neat! Another thing I noticed, is that $HOME/.local/bin is in the PATH by default. I’m still using .local, but due to the fact that it’s part of the PATH by default, it feel less of a hack. Things I added there, is a virtual environment in $HOME/.local/opt where I installed argos-translate-gui. I also added a custom .desktop file in $HOME/.local/share/applications for it. On Kubuntu I also installed Black (a Python formatter) and httrack (to archive websites), but they were available from the package manager, so I installed them that way. I also added a custom desktop file who I named “Nice Konsole”, who runs taskset -c 0 nice -19 konsole
, starting up Konsole, but restricting it to only one cpu core, and setting it as lowest priority. This can be handy when you have some heavy things you’d like to run in the background, without getting in the way of other usage.
One bug I noticed is that poweroff and reboot through the start menu don’t seem to work. There used to be a bug causing this in a previous KDE version. It was fixed, but I guess it’s back. These are the kind of problems you can encounter by using the newest packages, I guess. But, the power of Free Software isn’t that it’s without bugs, it’s that you can work around or fix it yourself. For now I added a poweroff
and reboot
command in $HOME/.local/bin. It’s just an sh script, but owned by root:wheel and executable with the “s” attribute. If you don’t know what that means, it’s something I only recently learned myself, and afaict, it’s a trick that things like su
, sudo
and doas
also use. To make a file executable, you can do something like chmod +x $FILE
. When you check permissions with ls -l $FILE
, it will show “x” for the executable permission. But if you do chmod +s $FILE
, it will show “s” instead of “x” for the owner (user and group) permissions. What then happens is that if someone who’s allowed to execute it as “s”, the program will run as the owner of the file. Normally you have to be root for a poweroff or reboot. By doing it this way, I can run the script, and, because my user is member of the group “wheel”, the script itself will run as root, and is therefor allowed to reboot and poweroff. Pretty neat, huh!
Anyhow, after trying Manjaro for two weeks, I decided to make it my main OS. I copied the content from the hard disk from my previous laptop to another drive in case I do still need some files from there, put this drive in the “new” laptop, and then installed Manjaro again. This time on an SSD with more storage, and this time for realsies.
One thing I realised by typing all this out, is that all this started with me being frustrated of always having to relearn an OS. But now I’ve been switching OS’es and actually liked it. I guess the biggest differences between the Windows and Linux experience in this regard are, firstly, I don’t have to switch because the OS I’m using is unsupported. It’s still usable and supported, it’s just that my preferences change. Secondly, I’m not forced to something I don’t like. I can try different things, and then switch to what I personally like most. And thridly, while some things are different, many things still stay the same. And, in big part, I have a choice in what the things are I want to see changed, and which things to keep. I chose to change the underlying system to something using more recent software, while keeping the KDE desktop. If someone wanted to make the exact opposit choice, they’d be able to do that. It seems then, that the difference in experience is the difference between being coerced to change, and being free to change.
Comments
No comments yet. Be the first to react!