Jak możesz przeczytać, na przykład tutaj , logind, który jest częścią systemd, może ustawiać uprawnienia do niektórych urządzeń na sesje użytkownika. Jest też film pokazujący, jak tego rodzaju zachowanie działa w praktyce. Krótko mówiąc, jeśli zaczniesz, powiedzmy, amarok i odtworzysz jakiś utwór, usłyszysz dźwięk, dopóki nie przełączysz się na innego użytkownika lub TTY, gdzie masz tylko monit o zalogowanie. Jest tak, ponieważ aktywna sesja stała się nieaktywna.
Wiem, że możesz po prostu dodać użytkownika (lub użytkowników) do określonej grupy, w tym przypadku „audio”, i to „naprawi” ten problem, ale zastanawiam się, czy istnieje inne rozwiązanie. To, czego naprawdę chcę, to ustawić uprawnienia dla tego procesu, aby mógł on używać karty dźwiękowej przez cały czas, nawet gdy wszyscy użytkownicy mają zablokowane sesje.
Czy to jest możliwe? Pytam, ponieważ często słucham muzyki i tak naprawdę nie potrzebuję, aby monitor był włączony przez większość czasu, więc po prostu blokuję ekran. Ale kiedy blokuję ekran, aktywna sesja staje się nieaktywna i amarok przestaje grać. I tak, ekran powinien być zablokowany, a nie tylko wyłączony.
EDYTOWAĆ:
Nie sądzę, żeby miało znaczenie, z której dystrybucji korzystam, ponieważ jeśli na pokładzie jest system, byłby to dokładnie ten sam problem. W każdym razie używam sid Debiana, ale niektóre pakiety, takie jak systemd, udev (i niektóre zależności) pochodzą z gałęzi eksperymentalnej, a teraz jest to wersja 219-9.
loginctl enable-linger
konta?
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.
Nie dotyczy to nieaktywnej sesji użytkownika, ponieważ systemd --user
jest obecna przez cały czas.
nohup program_x & ; disown
może pomóc. Lub za pomocą ekranu