• 1 Post
  • 1.99K Comments
Joined 1 year ago
cake
Cake day: February 10th, 2025

help-circle
  • If it’s consistently breaking then your distro is messing up something. Bad defaults, broken scripts, etc.

    The problem is that the environment variables are expected to be there and they are not there.

    So, if you’re not doing something odd, then your distro is pushing misconfigurations or some other piece of software is interfering with your environmental variables. Whatever the vanilla setup for your distro is, it is not setup correctly.

    I do agree that it’s frustrating, just aim the ire in the right direction… whoever configured your system’s defaults.






  • That’s not a pipewire problem, that’s a systemctl problem.

    Failed to connect to user scope bus via local transport: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined

    The error means systemctl --user can’t reach your user’s D-Bus session because the required environment variables aren’t set. This typically happens when you’ve switched users via su or sudo rather than logging in directly, because htose don’t initialize a full systemd/PAM session. It could also be that your session wasn’t properly initialized by systemd-logind or a number of other things. Try spawning a proper user session:

    sudo machinectl shell your_username@
    

    and try the systemctl command again.


  • My pipewire seems to have issues with crackling audio and severely dampening my mic and I have no clue why.

    Pipewire’s default quantum (buffer size, effectively) is incredibly low, this is good for low latency audio but anytime your system is too busy to keep the buffers filled you get crackling.

    If you look at pw-top you’ll see all of your devices and nodes. The quant column is probably 1 or a very small number for the devices.

    You can increase the quantum with this command. This only lasts until pipewire restarts:

     pw-metadata -n settings 0 clock.min-quantum 512
    

    At a sample rate of 48000, this is roughly a 10ms buffer. 1024 is 20ms, etc. You want it as low as possible without getting crackling. Start with 512 and adjust from there (you don’t have to use a power of 2, a quantum of 1234 works just as well).

    severely dampening my mic and I have no clue why.

    By default pipewire doesn’t do any ‘mic boost’, as Windows calls it. You can get the same effect by raising the maximum volume.

    In your sound control panel you should be able to turn the mic up higher than 100%. In KDE Plasma, you can do this in System Settings -> Sound -> Configure Volume Controls… [top right button] -> Raise maximum volume.

    Alternatively, you can use EasyEffects to add a compressor. This will boost your mic volume and also prevent it from getting too loud

    Compressors basically reduce the dynamic range of an audio signal by attenuating loud sounds and boosting quieter ones, this would provide a better mix.

    Other useful plug-ins are noise canceling, (kills background noise) and echo canceling (lets you play sound out of your speakers which won’t get picked up by your mic). Sometimes apps, like Discord, will do this signal processing for you while others, like Signal, do no signal processing.






  • What is the security hole in systemd?

    You haven’t answered this.

    systemd-tmpfiles exists to delete inactive files in /tmp. That’s not a security flaw, that’s system maintenance. It’s the documented purpose of systemd-tmpfiles and it performs exactly was documented.

    The security hole is in snap-confine which does not verify that its own directory is owned by root before mounting it AS ROOT. That’s the security hole.

    So, again, what is the security hole in systemd?

    If you don’t have an answer then just say so. Resorting to name calling and trying to frame this as if I’m the irrational one is absurd.


  • It seems like a lot of these pop-up proprietary projects are failing to diagnose the problem with Discord, namely the centralized control.

    It’s like people leaving Twitter for Bluesky… it doesn’t actually change the situation. We’ve just created a new centralized service with a different group of people who can change things on a whim as it suits their financial goals.


  • There is no systemd flaw here.

    snap-confine creates /tmp/.snap owned by root.

    systemd-tmpfiles can delete this directory because it also has root privileges. It will do so if the directory is inactive for, by default, 30 days. Files can be excluded from this by adding a .conf file to /etc/tmpfiles.d/, snap-confine does not do this.

    Because the files are not excluded they will be deleted. systemd-tmpfiles can do this because it is running as root.

    Once they are deleted a USER can recreate /tmp/.snap with malicious code.

    snap-confine never verifies that the directory is owned by root, and performs its security checks before its privileged file operations, creating a race window. Because snap-confine is setuid root, it then bind-mounts files from the attacker-controlled /tmp/.snap into the snap sandbox’s filesystem, allowing an attacker to execute arbitrary code as root.

    What is the systemd-tmpfiles flaw? It does exactly what it is supposed to do, and it provides a means to exclude directories from its process. snap doesn’t configure systemd to ignore the directories and it doesn’t perform appropriate checks on the directory’s ownership.