Когда я загружаюсь (Ubuntu 18.04), systemd запускает pulseaudio под пользователем gdm. Я не хочу этого - я хочу запускать pulseaudio под своим пользователем, из-за проблем с pulseaudio под gdm и mpd.
Так что я пытаюсь убить его, но ничто не может убить этого монстра. Он продолжает возрождаться. Люди задавали этот вопрос раньше, и все следующие решения не сработали:
Согласно pstree, он продолжает перезапускаться systemd с пользователем gdm, если я убиваю его (как root), процесс умирает, и systemd просто перезапускает его.
Но я не могу понять, почему systemd запускает его:
% systemctl --type=service | grep pulse
% systemctl list-units --type=service | grep pulse
На самом деле, systemctl даже не считает его запущенным:
% systemctl | grep pulse
% systemctl --state=running | grep pulse
Вот почему:
% systemctl disable pulseaudio
Failed to disable unit: Unit file pulseaudio.service does not exist.
И systemd не признается, что запускает его:
% systemd --test | grep -i pulse
Loaded units and determined initial transaction in 27ms.
Но pstree говорит нам, что он лжет:
% pstree
.....
|-systemd-+-(sd-pam)
...
| |-pulseaudio---{pulseaudio}
Он также не указан в init. d или Xsession.d скриптах:
% 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
Хотя этот файл существует:
/var/lib/gdm3/.config/systemd/user/sockets.target.wants/pulseaudio.socket Который утверждает "WantedBy=sockets.target", что бы это ни значило...
Я думаю, что это может быть частично проблемой пути к systemd - его нет в пути /etc/systemd:
% find /etc/systemd/ -name '*pulse*'
Но:
% find /usr/lib/systemd | grep pulseaudio
/usr/lib/systemd/user/pulseaudio.socket
/usr/lib/systemd/user/pulseaudio.service
Я заметил, что у кого-то еще была эта ошибка на redhat:
https://bugzilla.redhat.com/show_bug.cgi?id=1635119
Разочаровывает то, что она была закрыта как NOTABUG без объяснения причин.
Что нужно сделать, чтобы убить этот процесс и сохранить его убитым, без какого-либо хака вроде временного перемещения двоичного файла?
.