"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!

Still unable to resolve this issue. Must resolve it in order to restore HDMI sound to my Dell Precision M3800 laptop running Ubuntu 24.04.1 LTS. Before I owned this laptop for personal use it was a business networked laptop. Could that be the reason why some masked code insists on “unit files enabled in global scope” when trying to install PipeWire? Thanks for any help you can render!

Sulyen

Hi Lubos and Toadie,

I still need your help. Have no idea why someone made installing PipeWire and de-installing PulseAudio on Ubuntu 24.04.1 LTS so insanely difficult.

Can anyone help this non-programmer on this issue. Stuck responding to the step at 25d. This is an issue affecting many people out there and deserves to be solved. Thanks!
Sulyen

try sudo systemctl --global disable pulseaudio.service puleaudio.socket

I will add that I judge you will get more help from the forum if you research your filesystem navigation, file creation and editing and rebooting questions on your own. These are fundamental skills that you will need to maintain your machine. Asking ChatGPT is a great place for questions like these.

Hi Antares,

Tried but no change on the ragged sound re: HDMI/display port – built-in audio.
Whoever masked this thing also did it up way above my limited skill level. I’ve had Ubuntu on my laptop for many years and no probs until this one. But I’m a great-grandfather with beaucoup time commitments and had to reach out for help with this one. It seems to be a widespread issue affecting many others who aren’t Linux programmers. Thanks for your suggestion anyway.

Yeah switching sound backends is certainly an advanced topic. You are brave for giving it a go. It is a bit heavy handed, but if you are running a very old Ubuntu version you can upgrade to the latest LTS release (ubuntu-24.04) and it comes with Pipewire by default. That might be less painful for you.

HI Antares,

The problem occurred when I upgraded to 24.4.1 LTS because while PipeWire is supposed to install, the old pulseaudio is still somehow precluding PipeWire from functioning, and the old pulseaudio apparently still there ceased to function as well. This happened to many on this most recent upgrade. Very aggravating. Thanks for your time and attention to this issue.

This might be a drastic approach but perhaps have you tried to purge pluseaudio pakcages from the system?

This will list all relevant packages for removal:
dpkg -l | grep pulseaudio