blog

My Terrible, Horrible, No-Good, Very Bad Distro Hop

Posted on 2024-02-25

Prologue

Of late, I've been having some mildly annoying, highly esoteric issues, of the sort any desktop OS tends to develop given enough time, with my daily-driver install of the Arch-based EndeavourOS with XFCE. The most annoying of these annoyances include the XFCE panel daemon having stopped running on login, which I dealt with by binding the command to start it to a keyboard shortcut, and the monitor layout defaulting to mirrored every time I locked the screen, which I dealt with much the same way. I say of late, but I've been dealing with this shit for months. These seemed like bugs somewhere deep in XFCE that I really didn't have the energy to try to fix, so my solution was to just go scorched-earth and start again with something new.

The something new I landed on was a fresh install of Fedora. I chose Fedora partially for the GNOME desktop environment, which, to be blunt, seems to have its shit together much more than XFCE does (or KDE for that matter), and partially because I was hoping that by moving away from a rolling-release distro to something more stable I could avoid some of the inscrutable weirdness that kept materializing after updates on Arch. Plus, I was excited to once again be on an OS with some more sane defaults, like flatpaks and Bluetooth being available out of the box. This is what was going through my head as I loaded the Fedora live ISO onto a flash drive and rebooted my computer.

I had no idea what I was about to get myself into.

The Installation Experience

The installation went very smoothly. I was actually pretty impressed. It was probably the fastest I've ever installed Linux - All it did was prompt me for a language, timezone, and the drive to install to and a few minutes later it was done. Fast and simple even by Linux installation standards. It was the next part that was painful.

Setup (Or Rather, My Doomed Attempt Thereof)

I should say here that this isn't a review of Fedora as much as it is just me venting. It seems like it would be great for the kind of user it's designed for, but as it turns out that is not me. Honestly, a lot of this stuff may or may not have been my fault. Anyway, on to the pain.

The first weird thing I noticed was that Firefox had reverted to the default profile instead of recalling my settings from before. Normal, except that I store my /home/ directory on a separate drive and the first thing I did was reconfigure my fstab as such, so it should have seen the config files and just loaded them right up. Odd.

I also had to manually install all the nonfree media codecs in order to watch videos on Youtube, but that's basically fine. Takes two seconds and you never have to think about it again. Would have been nice to be prompted for that on install, though.

Anyway, this issue with programs not seeing their existing config files would become a running theme. I would later discover that this had something to do with the fact that all this stuff had been installed as flatpaks, as opposed to a native installation from the distro's repositories or the AUR like it would have been before.

See, for some (probably security-related) reason, flatpaks store their config files in a different place than natively installed programs, and the preinstalled graphical Software Center, which I was using to install all this stuff, seems to like to default to flatpaks whenever possible. I never used flatpaks on my previous install because they weren't enabled by default, hence, almost none of the programs I installed remembered their previous settings.

To be clear, this probably would have been fine if flatpaks were already my go-to, but they weren't, and I wasn't about to reconfigure all my shit or go way out of my way to be particular about which packaging method I preferred for my software in order to avoid reconfiguring all my shit.

On a related note, a lot of the software in the repositories that were available to me was severely outdated. PrusaSlicer, for example, was only available in version 2.4.2, which was released in April of 2022. As of writing in February of 2024, the latest version is 2.7.1. It was upon going to Prusa's website to download the AppImage of the latest version like some kind of fucking caveman and discovering that AppImageLauncher wasn't in any of the repos that I got fed up, decided I wasn't gonna risk dealing with this type of shit for every program I wanted to install and noped out.

Where To Next

So Fedora was a bust, so where do I go from here? I considered moving to an Ubuntu-based distribution like Pop!_OS or Mint that might give me what I wanted from Fedora, and I briefly considered going back to Manjaro for reasons I have honestly forgotten, but I had been at this for hours now and I really just wanted my computer in a usable state again with the minimum possible amount of adaptation, so I came crawling back to EndeavourOS, and went to take a nap while it installed to hopefully come back to this ordeal with a cooler head.

I kept using GNOME, though. I kinda like it. I switched to XFCE initially because I had been looking at r/unixporn and had it in my head that I wanted really granular customization, but that honestly didn't last long. I got it looking decent and then got bored. Eventually, the creeping accumulation of jank and bugs got tiresome, and my hope is that GNOME is sufficiently well-integrated and UX-designed to avoid some of that.

I have a couple issues with GNOME, though. I don't much like the MacOS-style grid of large icons as an app launcher, for one, having gotten used to the density of a barely-configured Rofi menu. I've also gotten used to seeing at a glance what programs I have open, from years of using basically every desktop environment but GNOME, from KDE to XFCE to fucking Windows. I'd like if that was available in, say, the positively barren top panel. I found an extension for that, but it doesn't seem to work properly.

Beyond that, I've been acclimating to the fresh install pretty much fine. All my programs are set up the way I like them again, which is nice. Turns out GNOME ships with Wayland by default now, and it's actually been giving me fewer issues than I was expecting. Even gaming is fine from what I've seen so far (what kind of topsy turvy world are we living in where gaming is one of the EASIEST things to do on Linux?), but I did have to pass the flag -platform xcb to OBS to get it to run. Also, the state of graphical package managers on Arch is utterly abysmal, but that's neither here nor there.

I do have one very difficult issue, though.

What Is The Fucking Deal With ProtonVPN On Linux

I use ProtonVPN, and one of the things I attempted to do on Fedora was set it back up. I don't know what I did originally to dodge this, but trying to set it up recently, both on Fedora and on Arch, has been an excercise in navigating an insane maze of complete and utter bullshit.

Proton lists Fedora as officially supported by ProtonVPN. Great! One issue: It Fucking Isn't, It Would Seem. The ProtonVPN client is only present in the Software Center as an unofficial GTK app (as opposed to the Electron app I'm used to (I know, ugh)) that refused to work. I went to Proton's website and followed the instructions there, only to end up with a very similar looking GTK app that very similarly didn't work. Awesome.

Fortunately, ProtonVPN supports connecting using OpenVPN, and GNOME's network settings panel has an option for that built right in! I download the relevant configuration file from the ProtonVPN website and it also doesn't work. Even awesomer!

Back on Arch, which is not officially supported, I install the AUR package that worked perfectly before and it fails. Trying to connect via the CLI (which, by the way, didn't exist in Fedoraland) with my usual settings gives this output:

protonvpn-cli c --cc CA -p udp Setting up Proton VPN.
Connecting to Proton VPN on CA#166 with UDP.

Unable to connect to Proton VPN: Proton VPN connection failed due to unknown reason.

Tremendously fucking helpful. Why even bother having an error message if it's gonna tell me nothing?

So I look up this "unknown reason" error and find a Github issue where someone says to run a journalctl command to see if there's any errors, and wouldn't you know it, I find one!

sudo journalctl -eu NetworkManager "Proton VPN CA#166"]: secrets: failed to request VPN secrets #3: No agents were available for this request.

Progress! I think. I don't know what this means. I look up this error and find a different Github issue where someone claims to have fixed a similar issue by installing a package called nm-applet, which... doesn't seem to exist. Transcendantly spectacular!!!

(Mind you, all this is going on on a repo that was archived some time last year, which seems ominous. Please tell me that weird GTK client from Fedora that's missing a CLI isn't the up-to-date official solution.)

So I look up "nm-applet" and find a Stackoverflow thread from eight years ago where someone is describing an unrelated issue with an ancient version of GNOME and I learn that the package I'm looking for is actually called network-manager-applet and not nm-applet in the Arch repos for some reason. So I install it and run the nm-applet command, and, bracing for disappointment, run the command to start the VPN...

protonvpn-cli c --cc CA -p udp Setting up Proton VPN.
Connecting to Proton VPN on CA#70 with UDP.

Successfully connected to Proton VPN.

huh.

I think the Github user I learned this from says it best in their comment:

Yes!!! It needs [network-manager]-applet!!

Oh man, that was a saga, and what a simple fix!

Thanks so much. I understand that protonvpn doesn't want to say that it "officially supports" desktop environments other than GNOME or KDE, but I think it would still be really great if we could add some documentation here. -ExpandingMan

I have a couple questions. One, why isn't this listed as a dependency if not having it breaks everything? I assume it's the fault of the person maintaining the AUR package, but that seems like a weird oversight on a family of distros where that package clearly does not come standard.

Two, what's going on with ProtonVPN clients on Linux? It looks like the Electron app and accompanying CLI (which I quite liked) are deprecated as of last October? And replaced with that weird GTK thing that's missing a bunch of features and doesn't include a CLI anymore? What the fuck? Why did they make it worse? I mean, it's not like this isn't part of a pattern for Proton. I'm pretty sure the Proton Drive desktop client still isn't on Linux yet.

Also, three, why wasn't network-manager-applet already installed? This thing seems like a pretty important system package, especially given the rest of network-manager was already present and seems to be the thing allowing me to connect to the internet right now. Well, such is Arch I suppose. The type of Linux user who runs this thing seems to tend towards having a pathological obsession with bloat and the relevant de-'s.

Oh Sweet It's Fine Actually

That concludes my blog post, and the blog-post-within-a-blog-post that appears to have metastasized up there. I think you should know I finished troubleshooting both ProtonVPN and OBS while writing the post chronicling my suffering. Thank you for indulging my bitching and moaning about totally avoidable software problems. Who knows, maybe this will help you. For your sake, I hope it doesn't.

Comments