У Linux є кілька віртуальних консолей. Ctrl+ Alt+ перемикачі між цими консолями. Коли ви переходите з консолі 7 на консоль 2, периферійні пристрої вводу та виводу перенаправляються з консолі 7 на консоль 2. Коли консоль 7 неактивна, вона не має доступу до вхідних / вихідних периферійних пристроїв: дисплей не відображається на екран, програми не отримують введення з клавіатури тощо.Fn
З історичних причин для введення та виведення звуку використовуються зовсім інші канали від пристроїв введення, таких як клавіатура та миша та відеоекрани. Консольні пристрої (абстракція в операційній системі) охоплюють клавіатуру та відео, але не звучать. Найпоширеніша базова реалізація звуку в системі Unix не залежить від цієї системи, і дозвіл на використання звукової периферії надається виходячи з членства в групі, а не від власності на консолі. Це насправді недолік дизайну.
Ubuntu налаштував так, щоб сеанс увійшов до консолі, і лише вони мали доступ до аудіопристрою. Якщо ви перемикаєте консолі, ви втрачаєте доступ до аудіопристрою, якщо ви також не увійдете в цю іншу консоль. Це справді мало би зробити з самого початку, але не тому, що дизайнери консольних інтерфейсів не думали про звук.
Коли ви переходите на іншу консоль, ваші програми продовжують працювати, оскільки процесор пов’язаний не з консоллю, а з машиною: кожен, хто має обліковий запис на машині, може використовувати час процесора. Те саме стосується інших ресурсів, таких як пам'ять та файли (за умови дозволу). Це лише взаємодія з користувачем, яка регулюється власністю консолі. Звук перестає грати, коли ви переходите на консоль, де ви не ввійшли в систему, оскільки ваші програми втрачають привілей на доступ до пристрою виведення звуку.
Я вважаю, що Ubuntu реалізує контроль доступу через Polkit , але я не знаю, як саме це працює.