What software have you found particularly frustrating or difficult to configure on Linux?
I remember being stubborn and trying to setup eduroam at my uni library using only wpa_supplicant for a whole day. Hugely frustrating. Gave up and installed NetworkManager and it just fucking worked… my tech minimalism phase was extremely counterproductive lol
Pretty much everything is frustrating to configure at first. Then I learn it and it’s not so bad. Then I don’t use it for a few years, and completely forget how! Back to step 1.
Initial thought was “I can’t think of anything”. Then I started scrolling through this thread showering upvoted on all of the repressed memories.
I learned this lesson pretty quick when working in IT.
It’s not always feasible to document everything as it happens, but I definitely learned to do so if I had the time and means to while I was doing the thing.
Just started at a new company with 0 documentation, they’re super psyched that I’ve actually been writing down all their processes/procedures/configurations etc. as they explain them to me/as I work with them.
I really should learn this habit.
If you want to get into doing it, I found searching through a lot of note taking applications until I found something I really liked helped me remember to go do it regularly.
For FOSS stuff a lot of people like Joplin, and I could certainly recommend it. Personally though, I really like Obsidian for its backlinking and graph view features, but it’s not open source.
Furthermore, just carrying around a notebook and a pen everywhere you go as a habit helps a lot. I got into the habit of doing this by maintaining a personal journal for some time. For writing effective notation on paper which can easily be digitized, I would recommend looking into “bullet journaling” methods, and again, finding a notebook and pen that you really quite like, helps a lot to make the experience enjoyable and develop it as a skill.
Thanks very much. I’ll take a look at your suggestions.
XDG portal filechooser for Firefox: the KDE implementation uses Dolphin, which is full of features and I use most of them; the default GTK one is mildly infuriating to use and looks ugly too, but getting the browser to use the portal I want was a nightmare - especially since GTK discontinued the GTK_USE_PORTAL envvar.
The related Firefox config entries make no sense either.Can you explain a bit more about this and how to configure it? When I use FF on gnome, the save dialogue just looks like other dialogues?
I think GNOME’s filechooser is the GTK one (never used it so I’m not sure), mine looks like this:
It’s entirely possible that Firefox changed and now uses XDG portals by default, I configured it like this a long time ago.
As for how to configure it, I honestly don’t know.
It was a combination of messing withwidget.use-xdg-desktop-portal
on about:config, and changing XDG envvars and dotfiles; both by following several conflicting Reddit and bbs.archlinux.org posts.Yeah I definitely have the default GTK chooser. Guess I have some config playing to do later.
When I was on Hyprland, I had to start Firefox with
XDG_CURRENT_DESKTOP=kde
while having both the KDE and GTK implementations of XDP.Instructions for changing it here
https://wiki.archlinux.org/title/Firefox#XDG_Desktop_Portal_integration
widget.use-xdg-desktop-portal.file-picker=1 in about:config should be the only thing you need. @projectmoon@lemm.ee
Seems to be the only necessary thing in my case! Thanks.
Fortunately I haven’t had to open it in a very long time.
Similar here. I used to have 2 screens that if they turned off for powersaving only 1 of them would wake up. So I had a script on the desktop to do a reset and move them correctly.
#!/bin/bash xrandr --output HDMI2 --off xrandr --output HDMI2 --auto --same-as HDMI1 xrandr --output HDMI1 --right-of HDMI2 exit
Why did we have to learn what modelines were to get a picture on screen?
Multiple versions, paths, and installs of Python. Using pip makes it worse.
I have limited Python experience, but I always thought that’s what virtualenvs and requirements.txt files are for? When I used those, I found it easy enough to use.
Especially during the transition from 2 to 3. Let’s hope that’s all behind us.
You really don’t want to use pip. That’s how you download malicious code.
pyenv and pyenv-virtualenv together solves this for me. Virtualenv with specific python versions that work together well with other tools like pip or poetry.
It boils down to something like
$ pyenv install 3.12.7 $ pyenv virtualenv 3.12.7 myenv $ pyenv activate myenv
and at that point you can do regular python stuff like pip installing etc.
If you’re having to type out version numbers in your commands, something is broken.
I ended up having to roll my own shell script wrapper to bring some sanity to Python.
You misunderstand, the first two commands are just one time setup to install a specific python version and then to create an env using that version. After that all you need is `pyenv activate myenv´ to drop you into that env, which will use the correct python version and make sure everything is isolated from other environments you might have.
You can also just create an env with the system python version, but the question was specifically about managing multiple versions of python side by side and this makes that super easy.
You could also combine it with
direnv
to automatically drop you into the correct environment based on the folder you are in, so you don’t have to type anything after the initial setup.The issue is more general. When dealing with, say,
apt
, my experience is that nothing ever breaks and any false move is immediately recoverable. When dealing with Python, even seemingly trivial tasks inevitably turn into a broken mess of cryptic error messages and missing dependencies which requires hours of research to resolve. It’s a general complaint. The architecture seems fragile in some way. Of course, it’s possible it’s just because I am dumb and ignorant.When you come across some Python code for something written 5 years ago and they used four contributed packages that the programmers have changed the API on three times since then, you want to set up a virtual environment that contains those specific versions so you can at least see how it worked at that time. A small part of this headache comes from Python itself mutating, but the bulk of the problem is the imported user-contributed packages that multiply the functionality of Python.
To be sure, it would be nice if those programmers were all dedicated to updating their code, but with hundreds of thousands of packages that could be imported written by volunteers, you can’t afford to expect all of them them to stop innovating or even to continue maintaining past projects for your benefit.
If you have the itch to fix something old so it works in the latest versions of everything, you have that option… but it is really hard to do that if you cannot see it working as it was designed to work when it was built.
I’ve had to grapple with pipewire. My old pulseaudio config didn’t seem to work and I wanted to migrate to the pw config file format anyway, but I found the pw docs to be highly opaque. You get a thousand solutions for commands online, or tools you can do it visually in, but to apply that config you need to start the tool…
I’m a noob, granted, but there seemed to be a lot of assumed common knowledge that I just don’t have. And if I don’t even know what I’m missing, it’s hard to google for it.
Caddy. The config and docs suck.
Eg. I thought I configured it to limit some sites to an allowlist of IPs. Turns out (months later) the config did nothing, but ran anyway.
Huh, I found it to be so much easier to set up than nginx that I wrote the devs a little thank you message
I still don’t properly grok Selinux. I understand the need for it, and I work with it to the best of my ability, but I wish there was a resource that could explain it from several different positions.
Irony: my main Linux workstation is OpenSuse
It used to be button 10 (also counting 4 scrollwheel directions and click) of my Elecom trackball. I had written a small C program reading the device node and writing the events just of that to stdout, then piping that to a tclsh script (so I could change it easily and it’s still super fast for gaming) which did something in X. Horrible. But then they added support for more buttons to everything (kernel, X) and now I can just map it in games, like any other.
Suspend with an Nvidia gpu
I gave up and went back to x11. The final straw was when system settings stopped opening, and I couldn’t figure out why.
hyprland but I’m a noob
Skyrim mods.
And xorg.conf. The (wrong) example from Arch Wiki works but following the official documentation doesn’t.
Btw, anyone got the new reshade working on wine?
For skyrim, I’m using vortex in lutris, and install the mods this way. This requires a more bit of actions but works fine.
Wabbajack still doesn’t work in wine?
Setting up Alpine or Mutt with multiple SMTP accounts is an exercise in frustration.
I use sway, and for the life of me can not get steam link to display my games. I have tried so many things. If I use flatpak steam it works, but it breaks remote play together, which works fine not flatpak! I can get them both to work with KDE Wayland as well. It’s frustrating but also not a huge deal.
X11. Luckily those days are over thanks to Wayland but, Jesus, are X.org config files a fucking, fiddly PITA to configure!