What software have you found particularly frustrating or difficult to configure on Linux?
Probably vim. It works fine out of the box but it took me way too long to figure out things like why my terminal colors were never quite right out of the box (had to set it to 256 color mode or what have you). And once I wanted to use some a few plugins the configuration started getting a bit convoluted/confusing. Hoping I have time some day/remember to figure out how to disable that annoying visual paste mode or whatever it is called that sometimes makes using it over SSH a nightmare.
Rootless podman, PostgreSQL, redis, nextcloud, nginx, iptables in one…
Recently? Email notifications for my crontab jobs. I learned that snapraid sync had been failing for 200 DAYS. I was thinking it’d be easy for some reason. It hasn’t been.
Overall though, Nextcloud was a nightmare and I just gave up.
deleted by creator
I also realized that I just didn’t need all of the functionality and such. In reality I just need a file sharing system akin to Google drive.
Xserver… Somehow trying to find the magic string of letters and numbers that made your screen work.
Modeline ftw.
Shudder. I had this weird brand laptop… Sotec IIRC and there just wasn’t a modline that ever got it all right.
Just recently XDG Portals to get video sharing working. It just kept using the GTK fallbacks instead of KDE as I configured it, but it used the correct ones when starting from the terminal.
Eventually I figured out I had set an env override for
XDG_CURRENT_DESKTOP="sway"
in my user systemd environment, because that’s what I used previously.Multiple versions, paths, and installs of Python. Using pip makes it worse.
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 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.
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.
Arch based distro (yes, even Manjaro).
Nvidia drivers on Arch, KDE Plasma 6.
Isn’t it always postfix? Not because of the software, but because of other clients and other servers.
Anything to do with dns
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
deleted by creator
I use i3 - Sway is supposed to be 100% compatible with i3 - and I find the configuration file very straightforward. What’s different in the version in NixOS?
Wild. I used sway for the first time with Nix since I could rollback a misconfiguration.
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?
I’ve been on arch for years, but have recently started pc gaming. Lutris has been surprisingly easy to get working. I have a nintendo switch already and decided I want to try to use the joycons for the computer, don’t want to buy gamepads but it gives and alternative to keyboard and mouse. Getting them consistently recognized by bluetooth has been a massive pain, but after searching I’ve figured out a package that I can install that fixes the issues. In fact, I couldn’t find anyone who found a solution to this issue without installing this specific package.
That package is pulseaudio-bluetooth, even though the nintendo joycons do not have an audio jack or capability to receive audio. I’ve had my audio set up and configured with alsa, and alsa does everything (relating to audio) that I need it to, but pulseaudio-bluetooth requires me to install pulseaudio (duh) and will not work unless I enable the pulseaudio service, which fucks up my alsa config. I’ve spent a while trying to dick around trying to get pulseaudio to pretend it doesn’t exist except for connecting joycons, but there’s always some nuisance popping up. I also tried using a different usb bluetooth controller and plugging them into different usb ports. Given up for the moment and will probably just buy another gamepad and hope it works better without needing pulseaudio-bluetooth.
In all honesty I still don’t really know what the hell I’m doing on arch, I originally installed it to learn this stuff better but all I’ve really learned is how to read documentation well enough to get things working by trial-and-error. I’ve had a stable system for like ten years now though and I’m too comfortable with it to warrant switching to a friendlier distro, but this specific issue is a pain in the ass.