Lorsque je démarre (Ubuntu 18.04), systemd lance pulseaudio sous l'utilisateur gdm. Je ne veux pas cela - je veux exécuter pulseaudio en tant que mon utilisateur, en raison des problèmes avec pulseaudio sous gdm et mpd.
J'essaie donc de le tuer, mais rien ne peut tuer ce monstre. Il continue de réapparaître. Des gens ont déjà posé cette question, et toutes les solutions suivantes ont échoué :
- Ajoutez "autospawn=no" à "/etc/pulse/client.conf" Ajoutez "autospawn=no" à "/var/lib/gdm3/.config/pulse/client.conf"
- Ajoutez aussi "daemon-binary = /bin/true" à client.conf
- "sudo rm -f /etc/xdg/autostart/pulseaudio.desktop"
- "sudo systemctl kill pulseaudio" (Retourne "Failed to kill unit pulseaudio.service : L'unité pulseaudio.service n'est pas chargée.")
- Suppression du fichier /etc/xdg/autostart/pulseaudio*.
- systemctl --user stop pulseaudio.socket
- systemctl --user stop pulseaudio.service
- systemctl disable pulseaudio
Selon pstree, il continue à être redémarré par systemd avec l'utilisateur gdm, si je le tue (en tant que root) le processus meurt, et systemd le relance.
Mais je n'arrive pas à comprendre pourquoi systemd le démarre :
% systemctl --type=service | grep pulse
% systemctl list-units --type=service | grep pulse
En fait, systemctl ne pense même pas qu'il est en cours d'exécution :
% systemctl | grep pulse
% systemctl --state=running | grep pulse
C'est pourquoi :
% systemctl disable pulseaudio
Failed to disable unit: Unit file pulseaudio.service does not exist.
Et systemd n'admet pas de le démarrer :
% systemd --test | grep -i pulse
Loaded units and determined initial transaction in 27ms.
Mais pstree nous dit que c'est un mensonge :
% pstree
.....
|-systemd-+-(sd-pam)
...
| |-pulseaudio---{pulseaudio}
Il n'est pas non plus listé dans le fichier init.d ou Xsession.d scripts :
% ls /etc/init.d/*pulse*
ls: cannot access '/etc/init.d/*pulse*': No such file or directory
% ls /etc/X11/Xsession.d/*pulse*
ls: cannot access '/etc/X11/Xsession.d/*pulse*': No such file or directory
Bien que ce fichier existe :
/var/lib/gdm3/.config/systemd/user/sockets.target.wants/pulseaudio.socket Ce qui revendique "WantedBy=sockets.target" quoi que cela veuille dire
Je pense que cela peut être en partie un problème de chemin d'accès à systemd - il n'est pas dans le chemin /etc/systemd :
% find /etc/systemd/ -name '*pulse*'
Mais :
% find /usr/lib/systemd | grep pulseaudio
/usr/lib/systemd/user/pulseaudio.socket
/usr/lib/systemd/user/pulseaudio.service
J'ai remarqué que quelqu'un d'autre avait ce bug sur redhat :
https://bugzilla.redhat.com/show_bug.cgi?id=1635119
Malheureusement, il a été fermé en tant que NOTABUG sans explication.
Qu'est-ce qu'il faut faire pour tuer ce processus et le conserver, sans avoir à déplacer temporairement le binaire ?