Wie Sie beispielsweise hier lesen können, kann logind, das Teil von systemd ist, Berechtigungen für einige Geräte für Benutzersitzungen festlegen. Es gibt auch ein Video, das zeigt, wie diese Art von Verhalten in der Praxis funktioniert. Kurz gesagt, wenn Sie anfangen, sagen wir Amarok, und ein Lied spielen, hören Sie den Ton, bis Sie zu einem anderen Benutzer oder TTY wechseln, wo Sie nur die Anmeldeaufforderung haben. Dies liegt daran, dass die aktive Sitzung inaktiv wurde.
Ich weiß, dass Sie einfach einen Benutzer (oder Benutzer) zu einer bestimmten Gruppe hinzufügen können, in diesem Fall "Audio", und das wird dieses Problem "beheben", aber ich frage mich, ob es eine andere Lösung gibt. Was ich wirklich möchte, ist, einige Berechtigungen für den Prozess festzulegen, damit die Soundkarte jederzeit verwendet werden kann, selbst wenn alle Benutzer ihre Sitzungen gesperrt haben.
Ist das möglich? Ich frage, weil ich oft Musik höre und mein Monitor die meiste Zeit nicht eingeschaltet sein muss, also sperre ich einfach den Bildschirm. Wenn ich den Bildschirm sperre, wird die aktive Sitzung inaktiv und amarok hört auf zu spielen. Und ja, der Bildschirm sollte gesperrt und nicht nur ausgeschaltet sein.
BEARBEITEN:
Ich denke nicht, dass es wichtig ist, welche Distribution ich benutze, denn wenn systemd an Bord ist, wäre es genau das gleiche Problem. Wie auch immer, ich verwende debian sid, aber einige Pakete wie systemd, udev (und einige Abhängigkeiten) stammen aus dem experimentellen Zweig, und jetzt ist es die 219-9-Version.
loginctl enable-linger
für das Konto zu verwenden?
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.
Das betrifft keine inaktive Benutzersitzung, da systemd --user
sie ständig vorhanden ist.
nohup program_x & ; disown
könnte Laufen helfen. Oder mit Bildschirm