Comme vous pouvez le lire, par exemple ici , logind, qui fait partie de systemd, peut définir des autorisations sur certains appareils pour les sessions utilisateur. Il y a aussi une vidéo montrant comment ce type de comportement fonctionne dans la pratique. En bref, si vous commencez, disons, amarok, et que vous jouez une chanson, vous entendrez le son jusqu'à ce que vous passiez à un autre utilisateur ou TTY où vous n'avez que l'invite de connexion. C'est parce que la session active est devenue inactive.
Je sais que vous pouvez simplement ajouter un utilisateur (ou des utilisateurs) à un groupe spécifique, dans ce cas "audio", et cela "résoudra" ce problème, mais je me demande s'il y a une autre solution. Ce que je veux vraiment, c'est définir des autorisations pour le processus afin qu'il puisse utiliser la carte son tout le temps, même lorsque tous les utilisateurs verrouillent leurs sessions.
Est-ce possible? Je demande parce que j'écoute souvent de la musique et que je n'ai pas vraiment besoin que mon moniteur soit allumé la plupart du temps, alors je verrouille simplement l'écran. Mais lorsque je verrouille l'écran, la session active devient inactive et amarok cesse de jouer. Et oui, l'écran doit être verrouillé et non pas simplement éteint.
ÉDITER:
Je ne pense pas que la distribution que j'utilise importe, car s'il y a systemd à bord, ce serait exactement le même problème. Quoi qu'il en soit, j'utilise Debian Sid, mais certains paquets comme systemd, udev (et certaines dépendances) proviennent de la branche expérimentale, et maintenant c'est la version 219-9.
loginctl enable-linger
le compte?
The systemd user instance is started after the first login of a user and killed after the last session of the user is closed. Sometimes it may be useful to start it right after boot, and keep the systemd user instance running after the last session closes, for instance to have some user process running without any open session. Lingering is used to that effect.
cela ne concerne pas une session utilisateur inactive car elle systemd --user
est présente tout le temps.
nohup program_x & ; disown
pourrait aider. Ou en utilisant l' écran