Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problème avec pulseaudio

211 views
Skip to first unread message

steve

unread,
Jun 19, 2021, 2:20:03 AM6/19/21
to
Bonjour,

Sur une testing à jour.

Des logs:

Jun 19 07:39:00 box pulseaudio[831974]: Failed to create secure directory (/nonexistent/.config/pulse): Aucun fichier ou dossier de ce type
Jun 19 07:39:00 box systemd[831936]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
Jun 19 07:39:00 box systemd[831936]: pulseaudio.service: Failed with result 'exit-code'.
Jun 19 07:39:00 box systemd[831936]: Failed to start Sound Service.
Jun 19 07:39:00 box systemd[831936]: Startup finished in 347ms.
Jun 19 07:39:00 box systemd[831936]: pulseaudio.service: Scheduled restart job, restart counter is at 1.
Jun 19 07:39:00 box pulseaudio[831984]: Failed to create secure directory (/nonexistent/.config/pulse): Aucun fichier ou dossier de ce type
Jun 19 07:39:00 box systemd[831936]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
Jun 19 07:39:00 box systemd[831936]: pulseaudio.service: Failed with result 'exit-code'.
Jun 19 07:39:00 box systemd[831936]: Failed to start Sound Service.
Jun 19 07:39:00 box systemd[831936]: pulseaudio.service: Scheduled restart job, restart counter is at 2.
Jun 19 07:39:00 box pulseaudio[831985]: Failed to create secure directory (/nonexistent/.config/pulse): Aucun fichier ou dossier de ce type
Jun 19 07:39:00 box systemd[831936]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
Jun 19 07:39:00 box systemd[831936]: pulseaudio.service: Failed with result 'exit-code'.
Jun 19 07:39:00 box systemd[831936]: Failed to start Sound Service.
Jun 19 07:39:01 box systemd[831936]: pulseaudio.service: Scheduled restart job, restart counter is at 3.
Jun 19 07:39:01 box pulseaudio[831986]: Failed to create secure directory (/nonexistent/.config/pulse): Aucun fichier ou dossier de ce type
Jun 19 07:39:01 box systemd[831936]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
Jun 19 07:39:01 box systemd[831936]: pulseaudio.service: Failed with result 'exit-code'.
Jun 19 07:39:01 box systemd[831936]: Failed to start Sound Service.
Jun 19 07:39:01 box systemd[831936]: pulseaudio.service: Scheduled restart job, restart counter is at 4.
Jun 19 07:39:01 box pulseaudio[832000]: Failed to create secure directory (/nonexistent/.config/pulse): Aucun fichier ou dossier de ce type
Jun 19 07:39:01 box systemd[831936]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
Jun 19 07:39:01 box systemd[831936]: pulseaudio.service: Failed with result 'exit-code'.
Jun 19 07:39:01 box systemd[831936]: Failed to start Sound Service.
Jun 19 07:39:01 box systemd[831936]: pulseaudio.service: Scheduled restart job, restart counter is at 5.
Jun 19 07:39:01 box systemd[831936]: pulseaudio.service: Start request repeated too quickly.
Jun 19 07:39:01 box systemd[831936]: pulseaudio.service: Failed with result 'exit-code'.
Jun 19 07:39:01 box systemd[831936]: Failed to start Sound Service.
Jun 19 07:39:01 box systemd[831936]: pulseaudio.socket: Failed with result 'service-start-limit-hit'.


Et pourtant j'ai du son !

Ces messages d'erreur existent depuis des mois déjà. J'ai désinstallé puis
réinstallé pulseaudio plusieurs fois, effacé ~/.config/pulse et aussi
probablement d'autres trucs dont je ne me souviens plus, mais rien y fait
toujours ces mêmes messages d'erreur.

Et pourtant elle tourne (ah non ça c'est quelqu'un d'autre… :))

Je ne vois pas d'où vient ce répertoire /nonexistant/.

Un peu perdu sur ce coup-là.

Une idée?

Bon week-end.

S

Hugues Larrive

unread,
Jun 19, 2021, 7:50:04 PM6/19/21
to
Bonjour,

> Une idée?
>
Peut-être :
# usermod -a -G pulse-access ton-utilisateur

Hugues

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

steve

unread,
Jun 20, 2021, 3:30:03 AM6/20/21
to
Le 19-06-2021, à 23:44:44 +0000, Hugues Larrive a écrit :

>Bonjour,
>
>> Une idée?
>>
>Peut-être :
># usermod -a -G pulse-access ton-utilisateur

Merci, mon utilisateur n'était pas dans ce groupe.

J'ai redémarré et il semble que l'erreur ait disparu. A voir.

steve

unread,
Jun 22, 2021, 4:30:03 AM6/22/21
to
Finalement l'erreur est de nouveau présente. J'avais aussi ajouter mon
utilisateur au groupe 'pulse' au cas où.

Une autre idée ?

Merci

Hugues Larrive

unread,
Jun 22, 2021, 5:10:03 PM6/22/21
to
J'avais vu ça : https://debian-facile.org/viewtopic.php?id=29940
en plus des groupes ils parlent de usrmerge...

Je n'ai qu'une seule machine en bullseye que j'ai installé fin mai (debootstrap et mate-desktop).
Le système de son par défaut était pipewire mais je ne suis pas parvenu à faire fonctionner le bluetooth avec
donc je l'ai remplacé par pulseaudio et j'ai effectivement les mêmes messages que toi dans mon syslog depuis.

Comme ce système a été installé directement en bullseye, /bin /sbin et /lib sont déjà des liens symboliques donc
installer usrmerge n'aurait pas de sens (et je ne vois pas le rapport).

Dans le post ou il dit qu'il faut installer usrmerge, il donne un `ls -ail` de sa racine et on voit qu'il a bien
des les liens symboliques pour /*bin et /lib* et qu'il a aussi un dossier /nonexistent mais qui n'a pas la même date.

Sur ma bullseye j'ai les mêmes messages que toi dans syslog :
Jun 13 07:35:49 pbp systemd[1]: Started User Manager for UID 65534.
Jun 13 07:35:49 pbp systemd[1]: Started Session c2 of user nobody.
Jun 13 07:35:49 pbp systemd[13384]: Starting Sound Service...
Jun 13 07:35:49 pbp systemd[1]: session-c2.scope: Succeeded.
Jun 13 07:35:49 pbp systemd[1]: Started Session c3 of user nobody.
Jun 13 07:35:50 pbp systemd[1]: session-c3.scope: Succeeded.
Jun 13 07:35:50 pbp systemd[1]: Started Session c4 of user nobody.
Jun 13 07:35:50 pbp pulseaudio[13408]: Failed to create secure directory (/nonexistent/.config/pulse): Aucun fichier ou dossier de ce type
Jun 13 07:35:50 pbp systemd[13384]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
Jun 13 07:35:50 pbp systemd[13384]: pulseaudio.service: Failed with result 'exit-code'.
Jun 13 07:35:50 pbp systemd[13384]: Failed to start Sound Service.
Jun 13 07:35:50 pbp systemd[13384]: Reached target Main User Target.
Jun 13 07:35:50 pbp systemd[13384]: Startup finished in 951ms.
Jun 13 07:35:50 pbp systemd[13384]: pulseaudio.service: Scheduled restart job, restart counter is at 1.
Jun 13 07:35:50 pbp systemd[13384]: Stopped Sound Service.
Jun 13 07:35:50 pbp systemd[13384]: Starting Sound Service...

Concernant le fameux dossier /nonexistent (qui n'existe pas sur mes systèmes) :
hugues@pbp:~$ grep -r nonexistent /etc/* 2>/dev/null
/etc/passwd:nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
/etc/passwd:_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
/etc/passwd:messagebus:x:104:110::/nonexistent:/usr/sbin/nologin
/etc/passwd:uml-net:x:118:125::/nonexistent:/usr/sbin/nologin
/etc/passwd-:nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
/etc/passwd-:_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
/etc/passwd-:messagebus:x:104:110::/nonexistent:/usr/sbin/nologin
/etc/passwd-:uml-net:x:118:125::/nonexistent:/usr/sbin/nologin
/etc/schroot/setup.d/20copyfiles: fatal "Not copying nonexistent file: $file"

En fait il semble que pulseaudio tente de se lancer pour l'utilisateur nobody.

Sur ma buster qui a une configuration très similaire je n'ai pas ce genre de messages mais,
sur bullseye :
hugues@pbp:~$ ps aux | grep pulse
hugues 1151 0.0 0.6 874492 24880 ? S<sl 22:02 0:00 /usr/bin/pulseaudio --daemonize=no --log-target=journal

sur buster :
hugues@W520:~$ ps aux | grep pulse
hugues 1726 0.0 0.0 1132272 15708 ? S<sl juin16 0:10 /usr/bin/pulseaudio --daemonize=no

Cette commande se trouve dans /usr/lib/systemd/user/pulseaudio.service qui fait partie du package pulseaudio.

À mon avis le mieux à faire (le plus simple) pour se débarasser de ces messages c'est de créer le dossier /nonexistent avec des permissions similaires à /tmp (chmod 1777) afin que tous les utilisateurs dont c'est le dossier personnel puissent y accéder.

Autrement peut-être qu'en configurant pulseaudio en tant que démon système il ne se lancerait plus en mode utilisateur (à vérifier).

Ou encore remplacer pulseaudio par pipewire...

Haricophile

unread,
Jun 23, 2021, 2:00:02 AM6/23/21
to
Le Tue, 22 Jun 2021 21:01:46 +0000,
Hugues Larrive <hlar...@pm.me> a écrit :

> À mon avis le mieux à faire (le plus simple) pour se débarasser de
> ces messages c'est de créer le dossier /nonexistent avec des
> permissions similaires à /tmp (chmod 1777) afin que tous les
> utilisateurs dont c'est le dossier personnel puissent y accéder.

Le mieux ça serait de voir comment est lancé pulseaudio pour voir
pourquoi il est lancé en nobody qui n'a pas de /home/nobody d'où le
"nonexitent", au lieu d'être lancé sous un user. Sans
rejeter totalement le bug, à mon avis c'est dans une config ou
le profil de l'utilisateur (quelque chose qui a changé avec un
changement de version ou autre ?). Créer un dossier nonexitent me
parait comme réparer une tête de robinet qui goutte en mettant une
bassine en dessous, ça élimine les inconvénients mais ne résoud rien.

Si tu lance pulse en root, il va aussi envoyer le "nonexitent" avec
avant "impossible de créer le dossier, permission refusée" (message
plus clair, il n'a pas le droit de créer /root/.config/pulseaudio

Mettre pulse en daemon peut avoir quelques inconvénients (surtout au
début de pulse quand ça plantait tout le temps), mais c'est une
possibilité qui affranchit de la gestion des utilisateurs.

didier gaumet

unread,
Jun 23, 2021, 3:20:03 AM6/23/21
to


Le mardi 22 juin 2021 à 21:01 +0000, Hugues Larrive a écrit :
[...]
> Je n'ai qu'une seule machine en bullseye
[...]
> Le système de son par défaut était pipewire
[...]

Sous Buster et Bullseye, Pipewire est disponible mais ne remplace pas
Alsa, Jack et Pulseaudio. On peut contraindre ce fonctionnement mais
c'est déconseillé
https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA

steve

unread,
Jun 23, 2021, 4:10:02 AM6/23/21
to
Le 22-06-2021, à 21:01:46 +0000, Hugues Larrive a écrit :

>Le mardi 22 juin 2021 à 10:27, steve <dl...@bluewin.ch> a écrit :
>
>> Le 20-06-2021, à 09:22:06 +0200, steve a écrit :
>>
>> Finalement l'erreur est de nouveau présente. J'avais aussi ajouter mon
>>
>> utilisateur au groupe 'pulse' au cas où.
>>
>> Une autre idée ?
>>
>> Merci
>
>
>À mon avis le mieux à faire (le plus simple) pour se débarasser de ces
>messages c'est de créer le dossier /nonexistent avec des permissions
>similaires à /tmp (chmod 1777) afin que tous les utilisateurs dont
>c'est le dossier personnel puissent y accéder.

Je vais essayer ça pour voir si ça a un effet. Néanmoins, je suis
d'accord avec Haricophile que ce serait quand même mieux d'identifier la
source du problème et le corriger.

>Autrement peut-être qu'en configurant pulseaudio en tant que démon
>système il ne se lancerait plus en mode utilisateur (à vérifier).

Prochaine étape ?

>Ou encore remplacer pulseaudio par pipewire...

Jamais entendu parlé de ce pipewire.

steve

unread,
Jun 23, 2021, 5:50:02 AM6/23/21
to
Il semble qu'avec la création du répertoire /nonexistent, le message
d'erreur ait disparu. Mais maintenant, le système se plaint que ce
pipewire ne soit pas installé:

Jun 23 10:10:34 box xdg-desktop-portal[3121]: could not open /usr/lib/x86_64-linux-gnu/pipewire-0.3: Aucun fichier ou dossier de ce type
Jun 23 10:10:34 box xdg-desktop-portal[3121]: No module "libpipewire-module-session-manager" was found

Je vais l'installer pour voir si ça fait disparaitre le message d'erreur.

steve

unread,
Jun 24, 2021, 2:20:03 AM6/24/21
to
La suite de l'aventure:

Jun 24 07:37:11 box pipewire[159455]: Failed to receive portal pid: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get PID of name 'org.freedesktop.portal.Desktop': no such name
Jun 24 07:37:11 box rtkit-daemon[1065]: Supervising 4 threads of 2 processes of 2 users.
Jun 24 07:37:11 box pipewire-media-session[159463]: could not set nice-level to -11: Permission denied
Jun 24 07:37:11 box pipewire[159455]: could not make thread realtime: Permission denied
Jun 24 07:37:11 box rtkit-daemon[1065]: Supervising 4 threads of 2 processes of 2 users.
Jun 24 07:37:11 box rtkit-daemon[1065]: Supervising 4 threads of 2 processes of 2 users.
Jun 24 07:37:11 box pipewire-media-session[159463]: could not make thread realtime: Permission denied
Jun 24 07:37:11 box pulseaudio[159457]: Failed to load module "module-alsa-sink" (argument: ""): initialization failed.
Jun 24 07:37:11 box pulseaudio[159457]: Failed to open cookie file '/nonexistent/.config/pulse/cookie': Aucun fichier ou dossier de ce type
Jun 24 07:37:11 box pulseaudio[159457]: Failed to load authentication key '/nonexistent/.config/pulse/cookie': Aucun fichier ou dossier de ce type
Jun 24 07:37:11 box pulseaudio[159457]: Failed to open cookie file '/nonexistent/.pulse-cookie': Aucun fichier ou dossier de ce type
Jun 24 07:37:11 box pulseaudio[159457]: Failed to load authentication key '/nonexistent/.pulse-cookie': Aucun fichier ou dossier de ce type

Et le son fonctionne toujours…

Hugues Larrive

unread,
Jun 24, 2021, 5:00:04 AM6/24/21
to

Le mercredi 23 juin 2021 à 06:39, Haricophile <haric...@aranha.fr> a écrit :

> Le mieux ça serait de voir comment est lancé pulseaudio pour voir
>
> pourquoi il est lancé en nobody qui n'a pas de /home/nobody d'où le
>
> "nonexitent", au lieu d'être lancé sous un user. Sans
>
> rejeter totalement le bug, à mon avis c'est dans une config ou
>
> le profil de l'utilisateur (quelque chose qui a changé avec un
>
Chez moi il semble être lancé par systemd lors de l'exécution des tâches cron.daily, et plus particulièrement du script /etc/cron.daily/locate qui contient :
# run find as this user
LOCALUSER="nobody"
Ça lance le script /usr/bin/updatedb.findutils qui fait un `su nobody` ... ce qui provoque :
Jun 23 06:55:12 pbp systemd[1]: Created slice User Slice of UID 65534.
Jun 23 06:55:12 pbp systemd[1]: Starting User Runtime Directory /run/user/65534...
Jun 23 06:55:12 pbp systemd[1]: Finished User Runtime Directory /run/user/65534.
Jun 23 06:55:12 pbp systemd[1]: Starting User Manager for UID 65534...
et une tentative de lancement de pulseaudio.service pour cet utilisateur.

Pour l'UID 1000 pulseaudio se lance normalement.

Pour l'UID 0 ça donne :
Jun 23 07:09:28 pbp systemd[1951]: Condition check resulted in Sound System being skipped.

C'est dû à une ligne dans /usr/lib/systemd/user/pulseaudio.service :
ConditionUser=!root

On peut obtenir la même chose pour nobody en ajoutant :
ConditionUser=!nobody
juste en dessous.

Préalablement, pour éviter que ce soit écrasé par une mise à jour de pulseaudio :
# dpkg-divert --rename /usr/lib/systemd/user/pulseaudio.service
# cp /usr/lib/systemd/user/pulseaudio.service.distrib /usr/lib/systemd/user/pulseaudio.service

Après je ne sais pas trop à qui attribuer ce bug, est-ce que pulseaudio devrait intégrer une condition pour nobody comme pour root ? est-ce que systemd ne devrait pas lancer de "User Manager" pour nobody ? est-ce que c'est le script updatedb.findutils qui fait quelque chose d'incorrect ?

Maintenant que j'ai identifié /etc/cron.daily/locate comme source du problème, je me suis aperçu que locate n'est pas installé sur ma buster, c'est mlocate à la place...

Du coup ma solution finale :
# apt-get install mlocate locate-

Comme ça plus besoin de /nonexistant ou de diversion.

steve

unread,
Jun 24, 2021, 5:30:02 AM6/24/21
to
Bonjour Hugues,

Merci pour toutes ces explications mais il y a une chose que je ne
comprends pas vraiment. Qu'est que pulseaudio et updatedb ont à voir
ensemble. updatedb sert à créer un index des fichiers afin d'accélérer
la recherche avec locate ou mlocate. Qu'est-ce que ça a voir avec
pulseaudio ?

Hugues Larrive

unread,
Jun 24, 2021, 5:50:03 AM6/24/21
to
Oui, j'ai vu ça aussi quand j'ai désinstallé pipewire, c'est sans rapport avec l'utilisateur nobody et /nonexistent.

Personnellement j'ai désinstallé aussi xdg-desktop-portal dont je n'ai pas l'utilité.

Hugues Larrive

unread,
Jun 24, 2021, 10:00:03 AM6/24/21
to
Je ne suis pas un expert en ce qui concerne systemd alors qu'on me corrige si je me trompe.

D'après ce que j'ai compris systemd gère aussi les services utilisateurs donc lorsqu'un utilisateur se connecte, systemd crée une instance utilisateur et lance un certain nombre de service dont pulseaudio.

Je ne sais pas pourquoi mais le script updatedb.findutils de locate provoque la création d'une telle instance lorsqu'il fait un `su nobody`. Pourtant ça ne le fait pas quand j'utilise la commande `su` depuis le shell... par exemple :

hugues@pbp:~$ ssh test@localhost
test@localhost's password:
Linux pbp 5.7.0-2-pinebookpro-arm64 #1 SMP PREEMPT Thu May 20 03:47:11 UTC 2021 aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Jun 24 15:19:55 2021 from ::1

provoque les messages suivant dans syslog :
Jun 24 15:21:39 pbp systemd[1]: Created slice User Slice of UID 1001.
Jun 24 15:21:39 pbp systemd[1]: Starting User Runtime Directory /run/user/1001...
Jun 24 15:21:39 pbp systemd[1]: Finished User Runtime Directory /run/user/1001.
Jun 24 15:21:39 pbp systemd[1]: Starting User Manager for UID 1001...
Jun 24 15:21:39 pbp systemd[3080]: gpgconf: erreur d'exécution de « /usr/lib/gnupg/scdaemon » : il n'est sans doute pas installé
Jun 24 15:21:39 pbp systemd-xdg-autostart-generator[3094]: Exec binary 'system-config-printer-applet' does not exist: No such file or directory
Jun 24 15:21:39 pbp systemd-xdg-autostart-generator[3094]: Not generating service for XDG autostart app-print\x2dapplet-autostart.service, error parsing Exec= line: No such file or directory
Jun 24 15:21:39 pbp systemd[3072]: Queued start job for default target Main User Target.
Jun 24 15:21:39 pbp systemd[3072]: Created slice User Application Slice.
Jun 24 15:21:39 pbp systemd[3072]: Reached target Paths.
Jun 24 15:21:39 pbp systemd[3072]: Reached target Timers.
Jun 24 15:21:39 pbp systemd[3072]: Starting D-Bus User Message Bus Socket.
Jun 24 15:21:39 pbp systemd[3072]: Listening on GnuPG network certificate management daemon.
Jun 24 15:21:39 pbp systemd[3072]: Listening on GnuPG cryptographic agent and passphrase cache (access for web browsers).
Jun 24 15:21:39 pbp systemd[3072]: Listening on GnuPG cryptographic agent and passphrase cache (restricted).
Jun 24 15:21:39 pbp systemd[3072]: Listening on GnuPG cryptographic agent (ssh-agent emulation).
Jun 24 15:21:39 pbp systemd[3072]: Listening on GnuPG cryptographic agent and passphrase cache.
Jun 24 15:21:39 pbp systemd[3072]: Listening on Sound System.
Jun 24 15:21:39 pbp systemd[3072]: Listening on D-Bus User Message Bus Socket.
Jun 24 15:21:39 pbp systemd[3072]: Reached target Sockets.
Jun 24 15:21:39 pbp systemd[3072]: Reached target Basic System.
Jun 24 15:21:39 pbp systemd[1]: Started User Manager for UID 1001.
Jun 24 15:21:39 pbp systemd[3072]: Starting Sound Service...
Jun 24 15:21:39 pbp systemd[1]: Started Session c9 of user test.
Jun 24 15:21:39 pbp rtkit-daemon[1387]: Supervising 0 threads of 0 processes of 1 users.
Jun 24 15:21:39 pbp rtkit-daemon[1387]: Supervising 0 threads of 0 processes of 1 users.
Jun 24 15:21:39 pbp rtkit-daemon[1387]: Supervising 0 threads of 0 processes of 1 users.
Jun 24 15:21:39 pbp rtkit-daemon[1387]: Supervising 0 threads of 0 processes of 1 users.
Jun 24 15:21:39 pbp rtkit-daemon[1387]: Supervising 0 threads of 0 processes of 1 users.
Jun 24 15:21:39 pbp systemd[3072]: Started D-Bus User Message Bus.
Jun 24 15:21:40 pbp systemd[3072]: Started Sound Service.
Jun 24 15:21:40 pbp systemd[3072]: Reached target Main User Target.
Jun 24 15:21:40 pbp systemd[3072]: Startup finished in 774ms.
Jun 24 15:21:40 pbp bluetoothd[691]: Endpoint registered: sender=:1.139 path=/MediaEndpoint/A2DPSink/sbc
Jun 24 15:21:40 pbp bluetoothd[691]: Endpoint registered: sender=:1.139 path=/MediaEndpoint/A2DPSource/sbc
Jun 24 15:21:40 pbp bluetoothd[691]: src/profile.c:ext_start_servers() RFCOMM server failed for Headset Voice gateway: rfcomm_bind: Address already in use (98)
Jun 24 15:21:40 pbp bluetoothd[691]: src/profile.c:ext_start_servers() RFCOMM server failed for Headset unit: rfcomm_bind: Address already in use (98)

et à la déconnexion :

Jun 24 15:24:51 pbp systemd[1]: session-c9.scope: Succeeded.
Jun 24 15:24:51 pbp bluetoothd[691]: Endpoint unregistered: sender=:1.139 path=/MediaEndpoint/A2DPSink/sbc
Jun 24 15:24:51 pbp bluetoothd[691]: Endpoint unregistered: sender=:1.139 path=/MediaEndpoint/A2DPSource/sbc
Jun 24 15:24:51 pbp systemd[3072]: pulseaudio.service: Succeeded.
Jun 24 15:25:01 pbp CRON[3122]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jun 24 15:25:02 pbp systemd[1]: Stopping User Manager for UID 1001...
Jun 24 15:25:02 pbp systemd[3072]: Stopped target Main User Target.
Jun 24 15:25:02 pbp systemd[3072]: Stopping D-Bus User Message Bus...
Jun 24 15:25:02 pbp systemd[3072]: dbus.service: Succeeded.
Jun 24 15:25:02 pbp systemd[3072]: Stopped D-Bus User Message Bus.
Jun 24 15:25:02 pbp systemd[3072]: Stopped target Basic System.
Jun 24 15:25:02 pbp systemd[3072]: Stopped target Paths.
Jun 24 15:25:02 pbp systemd[3072]: Stopped target Sockets.
Jun 24 15:25:02 pbp systemd[3072]: Stopped target Timers.
Jun 24 15:25:02 pbp systemd[3072]: dbus.socket: Succeeded.
Jun 24 15:25:02 pbp systemd[3072]: Closed D-Bus User Message Bus Socket.
Jun 24 15:25:02 pbp systemd[3072]: dirmngr.socket: Succeeded.
Jun 24 15:25:02 pbp systemd[3072]: Closed GnuPG network certificate management daemon.
Jun 24 15:25:02 pbp systemd[3072]: gpg-agent-browser.socket: Succeeded.
Jun 24 15:25:02 pbp systemd[3072]: Closed GnuPG cryptographic agent and passphrase cache (access for web browsers).
Jun 24 15:25:02 pbp systemd[3072]: gpg-agent-extra.socket: Succeeded.
Jun 24 15:25:02 pbp systemd[3072]: Closed GnuPG cryptographic agent and passphrase cache (restricted).
Jun 24 15:25:02 pbp systemd[3072]: gpg-agent-ssh.socket: Succeeded.
Jun 24 15:25:02 pbp systemd[3072]: Closed GnuPG cryptographic agent (ssh-agent emulation).
Jun 24 15:25:02 pbp systemd[3072]: gpg-agent.socket: Succeeded.
Jun 24 15:25:02 pbp systemd[3072]: Closed GnuPG cryptographic agent and passphrase cache.
Jun 24 15:25:02 pbp systemd[3072]: pulseaudio.socket: Succeeded.
Jun 24 15:25:02 pbp systemd[3072]: Closed Sound System.
Jun 24 15:25:02 pbp systemd[3072]: Removed slice User Application Slice.
Jun 24 15:25:02 pbp systemd[3072]: Reached target Shutdown.
Jun 24 15:25:02 pbp systemd[3072]: systemd-exit.service: Succeeded.
Jun 24 15:25:02 pbp systemd[3072]: Finished Exit the Session.
Jun 24 15:25:02 pbp systemd[3072]: Reached target Exit the Session.
Jun 24 15:25:02 pbp systemd[1]: us...@1001.service: Succeeded.
Jun 24 15:25:02 pbp systemd[1]: Stopped User Manager for UID 1001.
Jun 24 15:25:02 pbp systemd[1]: Stopping User Runtime Directory /run/user/1001...
Jun 24 15:25:02 pbp systemd[1356]: run-user-1001.mount: Succeeded.
Jun 24 15:25:02 pbp systemd[1]: run-user-1001.mount: Succeeded.
Jun 24 15:25:02 pbp systemd[1097]: run-user-1001.mount: Succeeded.
Jun 24 15:25:02 pbp systemd[1]: user-run...@1001.service: Succeeded.
Jun 24 15:25:02 pbp systemd[1]: Stopped User Runtime Directory /run/user/1001.
Jun 24 15:25:02 pbp systemd[1]: Removed slice User Slice of UID 1001.

mais `su test` ne provoque pas la création d'une instance utilisateur, `su nobody -s /bin/sh` non plus.

Donc il y a toujours quelque chose qui m'échape...

@+

Vincent Lefevre

unread,
Jun 24, 2021, 10:10:02 AM6/24/21
to
On 2021-06-24 13:52:17 +0000, Hugues Larrive wrote:
> mais `su test` ne provoque pas la création d'une instance utilisateur,
> `su nobody -s /bin/sh` non plus.

Pas depuis un shell (je pense que la raison est qu'on est déjà dans
une instance utilisateur), mais depuis un service comme cron, il y
a bien une création d'une instance utilisateur.

--
Vincent Lefèvre <vin...@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

Vincent Lefevre

unread,
Jun 24, 2021, 10:10:03 AM6/24/21
to
On 2021-06-24 08:55:25 +0000, Hugues Larrive wrote:
> Le mercredi 23 juin 2021 à 06:39, Haricophile <haric...@aranha.fr> a écrit :
> Chez moi il semble être lancé par systemd lors de l'exécution des tâches cron.daily, et plus particulièrement du script /etc/cron.daily/locate qui contient :
> # run find as this user
> LOCALUSER="nobody"
> Ça lance le script /usr/bin/updatedb.findutils qui fait un `su nobody` ... ce qui provoque :
> Jun 23 06:55:12 pbp systemd[1]: Created slice User Slice of UID 65534.
> Jun 23 06:55:12 pbp systemd[1]: Starting User Runtime Directory /run/user/65534...
> Jun 23 06:55:12 pbp systemd[1]: Finished User Runtime Directory /run/user/65534.
> Jun 23 06:55:12 pbp systemd[1]: Starting User Manager for UID 65534...
> et une tentative de lancement de pulseaudio.service pour cet utilisateur.

C'est parce qu'avec systemd et son utilisation des CGroup, il ne
faut pas utiliser "su" dans un fichier crontab.

Si je comprends bien, le problème est que le service cron est dans
le system.slice, et que le su va alors créer un user.slice pour
l'utilisateur en question (ici, nobody). Et c'est ça qui va activer
divers trucs, dont une tentative de lancement de pulseaudio.

Par exemple, si j'ajoute un fichier dans /etc/cron.d avec une
ligne du genre

40 * * * * root su nobody -c true

alors quand la commande est lancée, j'obtiens:

Jun 24 15:40:01 zira CRON[186136]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Jun 24 15:40:01 zira CRON[186137]: (root) CMD (su nobody -c true)
Jun 24 15:40:01 zira systemd[1]: Created slice User Slice of UID 65534.
Jun 24 15:40:01 zira su[186138]: (to nobody) root on none
Jun 24 15:40:01 zira systemd[1]: Starting User Runtime Directory /run/user/65534...
Jun 24 15:40:01 zira su[186138]: pam_unix(su:session): session opened for user nobody(uid=65534) by (uid=0)
Jun 24 15:40:01 zira systemd[1]: Finished User Runtime Directory /run/user/65534.
Jun 24 15:40:01 zira systemd[186140]: pam_unix(systemd-user:session): session opened for user nobody(uid=65534) by (uid=0)
Jun 24 15:40:01 zira systemd[1]: Starting User Manager for UID 65534...
[...]
Jun 24 15:40:01 zira systemd[186140]: Starting Sound Service...
Jun 24 15:40:01 zira nologin[186163]: Attempted login by root (UID: 65534) on UNKNOWN
Jun 24 15:40:01 zira su[186138]: pam_unix(su:session): session closed for user nobody
Jun 24 15:40:01 zira pipewire[186161]: could not set nice-level to -11: Permission denied
Jun 24 15:40:01 zira rtkit-daemon[730]: Supervising 5 threads of 1 processes of 2 users.
Jun 24 15:40:01 zira rtkit-daemon[730]: Supervising 5 threads of 1 processes of 2 users.
Jun 24 15:40:01 zira systemd[186140]: Started D-Bus User Message Bus.
Jun 24 15:40:01 zira pipewire[186161]: could not make thread realtime: Permission denied
Jun 24 15:40:01 zira systemd[1]: session-799.scope: Succeeded.
Jun 24 15:40:01 zira pipewire[186161]: Failed to receive portal pid: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get PID of name 'org.freedesktop.portal.Desktop': no such name
Jun 24 15:40:01 zira pipewire-media-session[186168]: could not set nice-level to -11: Permission denied
Jun 24 15:40:01 zira rtkit-daemon[730]: Supervising 5 threads of 1 processes of 2 users.
Jun 24 15:40:01 zira rtkit-daemon[730]: Supervising 5 threads of 1 processes of 2 users.
Jun 24 15:40:01 zira pipewire-media-session[186168]: could not make thread realtime: Permission denied
Jun 24 15:40:01 zira CRON[186136]: pam_unix(cron:session): session closed for user root
Jun 24 15:40:01 zira pulseaudio[186162]: Failed to create secure directory (/nonexistent/.config/pulse): No such file or directory
Jun 24 15:40:01 zira postfix/pickup[183192]: A54ACC23C25: uid=0 from=<root>
Jun 24 15:40:01 zira systemd[186140]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
Jun 24 15:40:01 zira systemd[186140]: pulseaudio.service: Failed with result 'exit-code'.
Jun 24 15:40:01 zira systemd[186140]: Failed to start Sound Service.
[...]
Jun 24 15:40:01 zira systemd[186140]: pulseaudio.service: Scheduled restart job, restart counter is at 1.
Jun 24 15:40:01 zira systemd[186140]: Stopped Sound Service.
Jun 24 15:40:01 zira systemd[186140]: Starting Sound Service...
Jun 24 15:40:01 zira pulseaudio[186178]: Failed to create secure directory (/nonexistent/.config/pulse): No such file or directory
Jun 24 15:40:01 zira systemd[186140]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
Jun 24 15:40:01 zira systemd[186140]: pulseaudio.service: Failed with result 'exit-code'.
Jun 24 15:40:01 zira systemd[186140]: Failed to start Sound Service.
Jun 24 15:40:02 zira systemd[186140]: pulseaudio.service: Scheduled restart job, restart counter is at 2.
Jun 24 15:40:02 zira systemd[186140]: Stopped Sound Service.
Jun 24 15:40:02 zira systemd[186140]: Starting Sound Service...
Jun 24 15:40:02 zira pulseaudio[186179]: Failed to create secure directory (/nonexistent/.config/pulse): No such file or directory
Jun 24 15:40:02 zira systemd[186140]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
Jun 24 15:40:02 zira systemd[186140]: pulseaudio.service: Failed with result 'exit-code'.
Jun 24 15:40:02 zira systemd[186140]: Failed to start Sound Service.
Jun 24 15:40:02 zira systemd[186140]: pulseaudio.service: Scheduled restart job, restart counter is at 3.
Jun 24 15:40:02 zira systemd[186140]: Stopped Sound Service.
[...]

Je ne sais pas si ça vient aussi de la config de pam...

> Pour l'UID 1000 pulseaudio se lance normalement.
>
> Pour l'UID 0 ça donne :
> Jun 23 07:09:28 pbp systemd[1951]: Condition check resulted in Sound System being skipped.
>
> C'est dû à une ligne dans /usr/lib/systemd/user/pulseaudio.service :
> ConditionUser=!root
>
> On peut obtenir la même chose pour nobody en ajoutant :
> ConditionUser=!nobody
> juste en dessous.

Sauf que ça va juste régler le problème avec pulseaudio, et pas
les autres erreurs éventuelles dues à l'utilisation du "su".

> Préalablement, pour éviter que ce soit écrasé par une mise à jour de pulseaudio :
> # dpkg-divert --rename /usr/lib/systemd/user/pulseaudio.service
> # cp /usr/lib/systemd/user/pulseaudio.service.distrib /usr/lib/systemd/user/pulseaudio.service

Il est probablement préférable de remplacer le lien symbolique

/etc/systemd/user/default.target.wants/pulseaudio.service -> /usr/lib/systemd/user/pulseaudio.service

par un fichier avec la config voulue (je n'ai pas testé).

> Après je ne sais pas trop à qui attribuer ce bug, est-ce que pulseaudio devrait intégrer une condition pour nobody comme pour root ? est-ce que systemd ne devrait pas lancer de "User Manager" pour nobody ? est-ce que c'est le script updatedb.findutils qui fait quelque chose d'incorrect ?

Comme il peut aussi y avoir des problèmes avec d'autres utilisateurs
que nobody, je dirais que c'est surtout le "su" à éviter. Désactiver
les trucs pour nobody pourrait toujours être utile, mais ne réglerait
pas le problème général.

Peut-être que le fonctionnement du "su" pourrait être corrigé?
Au passage, "sudo" n'est-il maintenant pas recommendé à la place
de "su"? Et règle-t-il ce problème? (Pas testé...)

> Maintenant que j'ai identifié /etc/cron.daily/locate comme source du
> problème, je me suis aperçu que locate n'est pas installé sur ma
> buster, c'est mlocate à la place...
>
> Du coup ma solution finale :
> # apt-get install mlocate locate-

C'est ce que j'utilise depuis plusieurs années (avant, c'était
slocate, je crois).

Hugues Larrive

unread,
Jun 24, 2021, 11:10:05 AM6/24/21
to
<didier...@gmail.com> a écrit :

> Sous Buster et Bullseye, Pipewire est disponible mais ne remplace pas
>
> Alsa, Jack et Pulseaudio. On peut contraindre ce fonctionnement mais
>
> c'est déconseillé
>
> https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA

Bonjour,

Je viens juste d'installer 2 chroot pour tester :
# debootstrap --foreign buster buster http://deb.debian.org/debian
# debootstrap --foreign bullseye bullseye http://deb.debian.org/debian

Pour la tâche "environnement de bureau Debian" ;
sous buster pipewire n'est pas installé :
hugues@W520:~$ schroot -c buster -u root
-bash-5.0# echo n | apt-get install task-desktop | grep -e pulseaudio -e pipewire
gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio gstreamer1.0-x
libphodav-2.0-common libphonenumber7 libpipeline1 libpipewire-0.2-1
psmisc publicsuffix pulseaudio pulseaudio-module-bluetooth pulseaudio-utils

sous bullseye pipewire est installé :
-bash-5.1# echo n | apt-get install task-desktop | grep -e pulseaudio -e pipewire
gstreamer1.0-libav gstreamer1.0-packagekit gstreamer1.0-pipewire
gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio gstreamer1.0-x
libphonenumber8 libpipeline1 libpipewire-0.3-0 libpipewire-0.3-modules
pipewire pipewire-bin pkg-config plymouth plymouth-label pocketsphinx-en-us
policykit-1 poppler-data ppp procps psmisc publicsuffix pulseaudio
pulseaudio-module-bluetooth pulseaudio-utils python-apt-common python3

Ce n'est pas une dépendance mais juste une recommandation car quand on le supprime ça n'enlève rien d'autre. Je pense que debian-installer installe la même chose à moins de mettre l'option install-recommends à false.

Soit c'est une erreur soit la page de wiki a besoin d'une mise à jour, parce qu'actuellement on se retrouve avec pipewire installé et pulseaudio désactivé par défaut.

Hugues Larrive

unread,
Jun 24, 2021, 1:30:03 PM6/24/21
to

Le jeudi 24 juin 2021 à 15:59, Vincent Lefevre <vin...@vinc17.net> a écrit :

> C'est parce qu'avec systemd et son utilisation des CGroup, il ne
>
> faut pas utiliser "su" dans un fichier crontab.
>
Oui, en fait su n'est pas utilisé directement dans le fichier crontab mais par /usr/bin/updatedb.findutils qui est un script sh, mais bon ça revient au même vu que cet utilitaire est destiné à être utilisé dans un fichier crontab.
J'y ai pensé aussi...
>
> Sauf que ça va juste régler le problème avec pulseaudio, et pas
>
> les autres erreurs éventuelles dues à l'utilisation du "su".
>
> > Préalablement, pour éviter que ce soit écrasé par une mise à jour de pulseaudio :
> >
> > dpkg-divert --rename /usr/lib/systemd/user/pulseaudio.service
> > =============================================================
> >
> > cp /usr/lib/systemd/user/pulseaudio.service.distrib /usr/lib/systemd/user/pulseaudio.service
> > ============================================================================================
>
> Il est probablement préférable de remplacer le lien symbolique
>
> /etc/systemd/user/default.target.wants/pulseaudio.service -> /usr/lib/systemd/user/pulseaudio.service
>
> par un fichier avec la config voulue (je n'ai pas testé).
>
Oui, c'est probablement mieux si dpkg traite les liens symboliques de /etc de la même façon que les fichiers de configuration modifiés.

> > Après je ne sais pas trop à qui attribuer ce bug, est-ce que pulseaudio devrait intégrer une condition pour nobody comme pour root ? est-ce que systemd ne devrait pas lancer de "User Manager" pour nobody ? est-ce que c'est le script updatedb.findutils qui fait quelque chose d'incorrect ?
Du coup il y a peut-être quelque chose à faire avec libpam-runtime aussi ;)

>
> Comme il peut aussi y avoir des problèmes avec d'autres utilisateurs
>
> que nobody, je dirais que c'est surtout le "su" à éviter. Désactiver
>
> les trucs pour nobody pourrait toujours être utile, mais ne réglerait
>
> pas le problème général.
>
> Peut-être que le fonctionnement du "su" pourrait être corrigé?
>
> Au passage, "sudo" n'est-il maintenant pas recommendé à la place
>
> de "su"? Et règle-t-il ce problème? (Pas testé...)
>
sudo n'est pas dans le système de base, donc ça fait des dépendances en plus... peut être qu'il faudrait simplement ajouter un conflit entre locate et systemd, comme ça on garde un locate léger pour les systèmes embarqués avec sysvinit, et il y a mlocate en remplacement pour les systèmes normaux.
>
> C'est ce que j'utilise depuis plusieurs années (avant, c'était
>
> slocate, je crois).
Je confirme, je n'avais aucun souvenir de mlocate mais avant (au moins jusqu'à jessie) j'installais slocate explicitement.

Merci pour ces explication supplémentaires.

didier gaumet

unread,
Jun 24, 2021, 3:20:03 PM6/24/21
to


Le jeudi 24 juin 2021 à 15:06 +0000, Hugues Larrive a écrit :


> Bonjour,
>
> Je viens juste d'installer 2 chroot pour tester :
[...]
> sous buster pipewire n'est pas installé :
[...]
> sous bullseye pipewire est installé :
[...]
> Soit c'est une erreur soit la page de wiki a besoin d'une mise à
> jour, parce qu'actuellement on se retrouve avec pipewire installé et
> pulseaudio désactivé par défaut.

Tu as vérifié que le service user Pulseaudio est désactivé sous
Bullseye? Parce que de ce que je comprends, jusqu'à Debian 11 inclus,
l'installation de Pipewire installe les bibliothèques nécessaires à
l'utilisation de paquets qui en dépendent (et si j'ai bien saisi ce
serait d'une aide appréciable pour les flatpaks), alors qu'à partir de
Debian 12 il y aura en plus un nouveau paquet pipewire-pulse qui, lui,
permettra de remplacer Pulseaudio. Remplacer Pulseaudio serait déjà
possible mais déconseillé sous Debian 11 en suivant les instructions
données et ce ne serait donc pas le comportement par défaut.

J'ai récemment dû anticiper sur mon laptop ma migration vers Bullseye à
partir de Buster (je suis sous Gnome classique):

didier@hp-notebook14:~$ systemctl --user | grep -i pulse
pulseaudio.service
loaded active running Sound Service
pulseaudio.socket
loaded active running Sound System
didier@hp-notebook14:~$ systemctl --user | grep -i pipe
pipewire.service
loaded active running Multimedia Service
pipewire.socket
loaded active running Multimedia System

la liste actuelle des fichiers du paquet pipewire de Bullseye
suggèrerait donc que le wiki est à jour car un exemple de service
pipewire-pulse est fournu dans /usr/share/doc/pipewire/examples mais le
service lui-même n'existe toujours pas dans /usr/lib/systemd/user
https://packages.debian.org/bullseye/amd64/pipewire/filelist

Hugues Larrive

unread,
Jun 25, 2021, 9:10:03 AM6/25/21
to
Bonjour,

>
> Tu as vérifié que le service user Pulseaudio est désactivé sous
>
> Bullseye? Parce que de ce que je comprends, jusqu'à Debian 11 inclus,
>
> l'installation de Pipewire installe les bibliothèques nécessaires à
>
> l'utilisation de paquets qui en dépendent (et si j'ai bien saisi ce
>
> serait d'une aide appréciable pour les flatpaks), alors qu'à partir de
>
> Debian 12 il y aura en plus un nouveau paquet pipewire-pulse qui, lui,
>
> permettra de remplacer Pulseaudio. Remplacer Pulseaudio serait déjà
>
> possible mais déconseillé sous Debian 11 en suivant les instructions
>
> données et ce ne serait donc pas le comportement par défaut.
>
> J'ai récemment dû anticiper sur mon laptop ma migration vers Bullseye à
>
> partir de Buster (je suis sous Gnome classique):
>
Non je n'ai pas vérifié. Je suis sous mate desktop. J'ai eu un message
d'erreur dans blueman en tentant de connecter un casque bluetooth qui ma
aiguillé sur https://wiki.debian.org/PipeWire#Bluetooth. J'ai fais un
`ps aux | grep pipe` qui m'a montré que pipewire était actif et il me
semble avoir aussi fais un `ps aux | grep pulse` qui n'a rien retourné
mais je ne peux pas l'affirmer avec certitude.

J'ai alors tenté d'installer libspa-0.2-bluetooth ce qui n'a pas résolu
le problème.

Finalement j'ai désinstallé tout ce qui concerne pipewire et fait un
`apt-get install pulseaudio pulseaudio-module-bluetooth` qui a tout résolu.

blueman et pulseaudio-module-bluetooth ne sont pas installé par défaut
pour task-mate-desktop. Donc il se peut très bien que j'ai cru installer
pulseaudio en même temps que pulseaudio-module-bluetooth alors qu'il était
déjà installé (apt-get ne s'arrête pas dans ce cas là).

Maintenant si je réinstalle pipewire, les deux sont actif mais l'audio
bluetooth ne fonctionne plus. Donc si la seule utilité d'avoir pipewire
en plus de pulseaudio concerne les flatpacks ça ne m'intéresse pas.

Je remplacerait pulseaudio par pipewire le jour où pipewire sera
complètement stable et fonctionnel.

Concernant mon point de vue sur les flatpacks, je trouve ça anti-debian
dans le principe...

Cordialement

steve

unread,
Jun 25, 2021, 9:50:03 AM6/25/21
to
"desktop integration portal for Flatpak and Snap"

Aucune utilité pour moi => apt purge xdg-desktop-portal

Merci de l'avoir signalé.

didier gaumet

unread,
Jun 25, 2021, 10:10:03 AM6/25/21
to

De mon point de vue (pas très informé à ce sujet, que ceux qui s'y
connaissent n'hésitent pas à corriger mes propos) il ne faut pas
considérer Pipewire comme un remplaçant de Pulseaudio, mais comme une
couche logicielle de routage et transmission de flux audio/vidéo créée
pour solutionner des problèmes apparus en même temps que l'émergence
d'autres technologies (bacs à sable, Wayland, concurrence et différence
entre Pulseaudio et Jack, etc...). Du coup, non seulement Pipewire
couvre un champ d'application plus large que Pulseaudio mais ne
remplace pas obligatoirement celui-ci même si il en est capable lorsque
configuré de manière adéquate.
https://en.wikipedia.org/wiki/PipeWire

Concernant Bluetooth sur mon laptop en Debian Testing sous Gnome avec
du Pulseaudio et du Pipewire: je ne l'utilise pas et je ne sais pas si
il est fonctionnel ou non actuellement dans cette configuration.
0 new messages