Linux tiene múltiples consolas virtuales. Ctrl+ Alt+ cambia entre estas consolas. Cuando cambia de la consola 7 a la consola 2, los periféricos de entrada y salida se redirigen de la consola 7 a la consola 2. Cuando la consola 7 está inactiva, no tiene acceso a los periféricos de entrada / salida: la pantalla no se muestra en la pantalla, las aplicaciones no reciben entrada de teclado, etc.Fn
Por razones históricas, la entrada y salida de sonido utiliza canales completamente diferentes desde dispositivos de entrada como teclado y mouse y desde pantallas de video. Los dispositivos de consola (la abstracción en el sistema operativo) cubren el teclado y el video pero no el sonido. La implementación básica más común del sonido en un sistema Unix es independiente de ese sistema, y el permiso para usar los periféricos de sonido se otorga en función de la pertenencia al grupo en lugar de la propiedad de la consola. Esto es, de hecho, una deficiencia de diseño.
Ubuntu ha configurado las cosas para que la sesión iniciada en la consola, y solo ellas, tenga acceso al dispositivo de audio. Si cambia de consola, pierde el acceso al dispositivo de audio, a menos que también inicie sesión en esa otra consola. Esto es lo que realmente debería haberse hecho desde el principio, pero no porque los diseñadores de interfaces de consola no estuvieran pensando en el sonido.
Cuando cambia a otra consola, sus programas siguen ejecutándose, porque la CPU no está asociada con una consola sino con una máquina: cualquier persona con una cuenta en la máquina puede usar el tiempo de la CPU. Lo mismo ocurre con otros recursos, como memoria y archivos (sujetos a permisos). Solo las interacciones con el usuario se rigen por la propiedad de la consola. Su sonido deja de reproducirse cuando cambia a una consola donde no ha iniciado sesión porque sus programas pierden el privilegio de acceder al dispositivo de salida de sonido.
Creo que Ubuntu implementa el control de acceso a través de Polkit , pero no sé exactamente cómo funciona esto.