Multiple versions, paths, and installs of Python. Using pip makes it worse.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
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.
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.
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?
Installing Fedora. I had almost nothing to configure, it worked out of the box. How frustrating! I had the whole day planned and now what? Enjoy my free time like a pleb !?!
(/s just in case anyone was wondering)
Xserver... Somehow trying to find the magic string of letters and numbers that made your screen work.
I still don't fully understand how to gracefully have multiple desktop environments and switch between them. When I want to try something new to me like lxqt, I usually spin up a VM.
Normally, the process is:
- install the packages for the desktop environment
- log out (not just locking the screen)
- find a dropdown or cogwheel where you can select the other desktop environment
- log in
Having said that, I don't know what you mean with "graceful". Desktop environments may involve lots of packages, which may create configuration files in your home directory or get auto-started in your other DEs, so it can be messy.
Something minimal, like LXQt or the various window managers, isn't going to cause much of a mess, though.
I guess, creating a second user with a separate home-directory, like the other person suggested, would isolate that potential mess...
Just add a new user
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.
Setting up a matrix server was a god damn nightmare for me. I eventually got it working but I hit pretty much every conceivable obstacle along the way. Getting the config file just right, the networking, the federation, the coturn server, getting end users to understand they need to backup their keys....
I'm sure it'd be easier for a Linux pro but I was in way over my head. Only got it working through stubbornness and help from the community.
Matrix is pain...
With the more recent updates it is a lot more stable
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
Isn't it always postfix? Not because of the software, but because of other clients and other servers.
I still cannot connect to captive portals for public WiFis, eg on train or hotel and I have no idea where the config comes from.
DNS? Resolve.conf? Systemd network manager? WTF?
(Probably for the best though, so I use my phone 5G and not these suss open networks )
I use this project (https://github.com/FiloSottile/captive-browser) which works most of the time.
Most captive portals work by answering the DNS requests with the captive portal ip. This works only if the correct dns servers are configured and a lot of security features like dnssec, DOH, ... are disabled.
More info from the project author: https://words.filippo.io/captive-browser/
I still don’t properly grok Selinux at a fundamental and instinctual level. 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
Configuring captive portal wifi without network manager or any aids beyond what's provided by wpa-supplicant. Eventually I gave up, since it wasn't really that important.
Adjusting freetype so that it works more-or-less the way I want it to, because the maintainers hate anyone who disagrees with their current hinting algorithm and make the setting as opaque as possible. I would prefer it if they allowed me to have hinting on some fonts and exclude only the ones that were designed to be pixel-aligned, but unless something's changed recently, that option isn't even offered.
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.
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.
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.
Initial thought was "I can't think of anything". Then I started scrolling through this thread showering upvoted on all of the repressed memories.
Do VLANs with multiple wireless and wired clients using OPNSense and OpenWRT dummy APs count? Still haven’t quite figured it out.
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.
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.
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.
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 dicking 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.
The hell that was configuring XFree86
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.
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.
Trying to disable the lid close sensor on my laptop. My issue is twofold. It's a convertible (pavilion x360) and I'm using bunsenlabs Linux.
hyprland but I'm a noob
Trying to configure Sway in NixOS. I gave up and just use KDE Plasma. I do miss using Sway from when I used Arch, though.
Nvidia drivers on Arch, KDE Plasma 6.
Getting Keycloak and Headscale working together.
But I did it after three weeks.
I captured my efforts in a set of interdependent Ansible roles so I never have to do it again.
-
Setting up Nvidia runtime for rootless Docker containers in Linux.
-
Resolving port :53 conflict between AdGuardHome (rootless) docker container and Systemd-Resolved.