What software have you found particularly frustrating or difficult to configure on Linux?

    • JustTesting@lemmy.hogru.chBanned
      link
      fedilink
      arrow-up
      10
      ·
      edit-2
      1 year ago

      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.

      • JubilantJaguar@lemmy.world
        link
        fedilink
        arrow-up
        8
        ·
        1 year ago

        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.

        • JustTesting@lemmy.hogru.chBanned
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          1 year ago

          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.

          • JubilantJaguar@lemmy.world
            link
            fedilink
            arrow-up
            4
            ·
            1 year ago

            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.

            • jdnewmil@lemmy.ca
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              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.

    • DasFaultier@sh.itjust.works
      link
      fedilink
      arrow-up
      6
      ·
      1 year ago

      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.

    • allywilson@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      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
      
  • WFH@lemm.ee
    link
    fedilink
    English
    arrow-up
    19
    ·
    1 year ago

    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)

  • Wojwo@lemmy.ml
    link
    fedilink
    arrow-up
    14
    ·
    1 year ago

    Xserver… Somehow trying to find the magic string of letters and numbers that made your screen work.

  • superweeniehutjrs@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    1 year ago

    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.

    • Ephera@lemmy.ml
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      1 year ago

      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…

    • superkret@feddit.org
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Create a different user for each desktop environment.
      Put all the users in a group that has full write access to a shared folder you use for your files.

      Linux is a multi-user system, use that.

  • luciferofastora@lemmy.zip
    link
    fedilink
    arrow-up
    8
    ·
    1 year ago

    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.

  • TwistedTurtle@monero.town
    link
    fedilink
    arrow-up
    8
    ·
    1 year ago

    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.

  • rekabis@lemmy.ca
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    1 year ago

    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

  • steeznson@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    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

  • nyan@sh.itjust.works
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    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.

  • astrsk@fedia.io
    link
    fedilink
    arrow-up
    6
    ·
    1 year ago

    Do VLANs with multiple wireless and wired clients using OPNSense and OpenWRT dummy APs count? Still haven’t quite figured it out.

  • lurch (he/him)@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 year ago

    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.

  • exu@feditown.com
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 year ago

    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.