Trying to install PipeWire through GNOME Software

As I said before, I'm trying to install PipeWire, through GNOME Software, but it keeps giving me this error:
(null): cannot install "pipewire": experimental feature disabled - test it by setting 'experimental.user-daemons' to true

How can I set 'experimental.user-daemons' to true?

Also, when I try to do the sudo pipewire command, it gives me this error:

$sudo pipewire
[E][02344.670946] mod.protocol-native | [module-protocol-:  616 init_socket_name()] server 0x5bfff16a5c90: name pipewire-0 is not an absolute path and no runtime dir found. Set one of PIPEWIRE_RUNTIME_DIR, XDG_RUNTIME_DIR or USERPROFILE in the environment
[E][02344.671097] pw.conf      | [          conf.c:  560 load_module()] 0x5bfff168e060: could not load mandatory module "libpipewire-module-protocol-native": No existe el archivo o el directorio
[E][02344.671358] default      | [      pipewire.c:  123 main()] failed to create context: No existe el archivo o el directorio

Hi, and welcome. I am fortunate as I don't use Zorin, PCLOS Debian comes with PipeWire by default. According to Brave A.I. Search engine via Mojeek gives:

" Change Experimental.user-daemons Setting

To enable PipeWire on Ubuntu 22.04, you can follow these steps:

  1. Install the necessary packages by running the following commands in your terminal:
sudo apt install pipewire-audio-client-libraries
sudo apt install pipewire-pulse
sudo apt install libspa-0.2-bluetooth
sudo apt install gstreamer1.0-pipewire
sudo apt install libspa-0.2-jack 

This will install the required libraries and utilities for PipeWire.

  • Stop and disable PulseAudio to make PipeWire the default audio server:
systemctl --user stop pulseaudio.service pulseaudio.socket
systemctl --user disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio.service pulseaudio.socket 
  • 
    

* Enable and start PipeWire and its PulseAudio compatibility layer:

systemctl --user enable pipewire.socket pipewire-pulse.socket
systemctl --user start pipewire.socket pipewire-pulse.socket


* ```

  • Optionally, you can enable WirePlumber, the session manager for PipeWire, to manage audio devices and profiles:
systemctl --user --now enable wireplumber 
  • 
    

* If you encounter issues with PulseAudio, you may need to unmask and disable it first:

systemctl --user unmask pulseaudio.service pulseaudio.socket
systemctl --user disable pulseaudio.service pulseaudio.socket


* ```

  • To enable Bluetooth support, ensure you have the necessary Bluetooth configuration files and services set up. You may need to configure PipeWire for Bluetooth as described in the context.

Regarding the experimental settings for user-daemons, you can modify the PipeWire configuration file to include experimental features. However, the specific configuration for experimental.user-daemons is not detailed in the provided context. You can create or modify the configuration file at ~/.config/pipewire/pipewire.conf.d/ to include experimental settings if needed.

For more detailed configuration and troubleshooting, refer to the Debian Wiki or other relevant documentation.

Please note that these steps are designed to work with the stock Ubuntu repositories and may require additional steps or configurations depending on your specific setup or any custom PPAs you are using."

I tried that, but on the second step I get this error:

# systemctl --user stop pulseaudio.service pulseaudio.socket
systemctl --user disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio.service pulseaudio.socket
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)

So I can't continue, any insights?

Brave A.I.:

Failed D-Bus Connection

The error "Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined" typically occurs when trying to run a systemd user service without the necessary environment variables set, which are usually defined when a user logs in interactively.

To resolve this issue, you can use the systemd-run command or machinectl to properly set up the environment for the user. For example, you can use systemd-run to run the command as the user and ensure the environment variables are correctly set:

systemd-run --user --uid=<user> --gid=<user> systemctl --user enable ipfs

Alternatively, you can use machinectl to log in as the user and start the service:

sudo machinectl shell <user>@

This command will log you into the user's shell with the necessary environment variables set, allowing you to run systemctl --user commands.

If you are running commands as root and need to interact with a user's systemd environment, you can use runuser to execute commands as the user:

sudo runuser <user> -l -c "systemctl --user enable ipfs"
sudo runuser <user> -l -c "systemctl --user start ipfs"

These methods ensure that the environment variables are correctly set and that you can manage user services without needing to log in interactively.