"unit files enabled in global scope" problem trying to install PipeWire on Ubuntu on Dell Precision M3800

Not a programmer. Need no skipped steps in the solution.
When I enter:
systemctl --user --now disable pulseaudio.service pulseaudio.socket
I get:
The following unit files have been enabled in global scope. This means will still be started automatically after a successful disablement in user scope:
pulseaudio.service, pulseaudio.socket

What is the step by step solution for this to stop these unit files from being enabled in global scope? Thanks! - Sulyen

Hello,

Have you tried the following without the --user option:

$ sudo systemctl --now disable pulseaudio.service pulseaudio.socket

This should disable it globally.

Hi Lubek,
Thanks for quick response. Tried it and got:
Failed to disable unit: unit file pulseaudio.service does not exist.

Now I’m really confused :frowning:

Sulyen

Correction: Hi Lubos, thanks for your quick response

Can you please post here the output of the following command:

systemctl list-unit-files | grep pulseaudio

It says:
pulseaudio-enable-autospawn.service masked enabled

Hello,

What Linux distribution are you using?

Please try:

sudo systemctl unmask pulseaudio-enable-autospawn.service
followed by:
sudo systemctl disable pulseaudio-enable-autospawn.service

Let me know …

Hi, using Ubuntu 24.04.1 LTS

Got: Synchronizing state of pulseaudio-enable-autospawn.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install disable pulseaudio-enable-autospawn
Unit /usr/lib/systemd/system/pulseaudio-enable-autospawn.service is masked, ignoring.
The unit files have no installation config (WantedBy=, RequiredBy=, UpheldBy=, Also=, or Alias= settings in the [install] section, and DefaultInstance= for template units). This means they are not meant to be enabled or disabled using systemctl.
Possible reasons for having these kinds of units are:
A unit may be statically enabled by being symlinked from another unit’s .wants/, .requires/, or .upholds directory.
A unit’s purpose may be to act as a helper for some other unit which has a requirement dependency on it.
A unit may be started when needed via activation (socket, path, timer, D-Bus, udev, scripted systemctl call, …).
In case of template units, the unit is meant to be enabled with some instance name specified.

Ok. Let’s try something else. Check your home directory for this file: ~/.config/pulse/client.conf. If it exists uncomment the the following line: autospawn = no. In case it does NOT exists create it and and add the line: autospawn = no. Log out ( ideally reboot ) your host and see what happens.

Hi Lubos,

Need to go step by step for non-programmer here.

  • How do I check home directory for file: ~/ .config/pulse/client.conf?
  • If it exists, how do I “uncomment” the line: autospawn = no?
  • If it does not exist how do I create it, and add the line: autospawn = no?
  • How do I log out then reboot my “host”? Does that mean exit the Terminal and restart my laptop? Thanks!

You can check /etc/pulse/client.conf and uncomment autospawn with an simple # at the begining of the line.
Before:

autospawn = no

After:

#autospawn = no
1 Like

I entered # ~/.config/pulse/client.conf
and got no response. What next? Thanks!