Ma configuration
Ordinateur portable System 76 Kudu-Pro avec Ubuntu 16.04 LTS que j'ai installé et mis à jour régulièrement tous les deux ou trois jours. J'utilise Unity comme bureau principal avec 12 utilisateurs parmi lesquels je passe souvent pour effectuer des tâches spécifiques et pour l'isolation de la sécurité.
Le problème
Je commence la lecture de la musique, puis change d’utilisateur et la musique s’arrête. Cela se produit même si je ssh sur localhost, désélectionne la variable d'environnement DISPLAY, deviens root et joue la musique à l'aide d'une commande ( mplayer ) de cette session. J'ai rencontré ce problème pour la première fois le 14.04 LTS, première version pour laquelle j'utilisais Unity et qui était pré-installé sur l'ordinateur portable. lorsque vous revenez à l'utilisateur qui a commencé à lire la musique, celle-ci reprend. Ceci s'applique également aux fichiers audio lus par le navigateur, tels que les vidéos Youtube.
Ma question
Comment puis-je jouer de la musique qui continue de jouer (dans un fond virtuel?) Lorsque je change d'utilisateur? En outre: Est-ce que PulseAudio est impliqué dans ceci?
Considérations
Si la solution nécessite un accès root ou Sudo, je peux le faire. Si la solution nécessite une programmation à petite échelle, je peux le faire en C et/ou en Python. Je pensais que l’un des moyens de contourner le problème serait d’obtenir un périphérique audio USB et j’espère que ce deuxième périphérique audio pourra fonctionner.
Lorsque PulseAudio est exécuté en mode système, tout fichier audio démarré par un utilisateur autorisé sera lu en arrière-plan tant que cet utilisateur est connecté.
Avant de poursuivre, veuillez lire ce qui suit sur la raison pour laquelle exécuter généralement l’ensemble du système n’est pas une bonne idée:
Néanmoins, nous pouvons le faire si nous le souhaitons. Seuls les comptes autorisés pourront alors contrôler le volume ou démarrer une autre instance de sortie audio.
Notez toutes les modifications que vous avez apportées pour pouvoir les annuler si vous n'aimez pas le résultat (j'ai tout testé sur une machine virtuelle).
Désactiver le lancement automatique de pulseaudio pour l'utilisateur qui contrôlera l'audio
echo autospawn = no > $HOME/.config/Pulse/client.conf
Cela empêche la génération automatique de pulseaudio pour les comptes $ HOME donnés. Les paramètres définis ici remplacent les paramètres globaux définis dans /etc/Pulse
, qui peuvent bien entendu être définis alternativement.
Arrête une instance en cours de pulseaudio en mode utilisateur
pulseaudio -k
Préparer les utilisateurs et les groupes nécessaires (au cas où ils n'existeraient pas encore)
Sudo addgroup --system Pulse
Sudo adduser --system --ingroup Pulse --home /var/run/Pulse pulse
Sudo addgroup --system Pulse-access
Sudo adduser Pulse audio
Autoriser les utilisateurs à accéder à l'ensemble du système PulseAudio
Sudo adduser <username> Pulse-access
Seuls les utilisateurs ajoutés à Pulse-access
pourront contrôler le volume d'un fichier audio en cours de lecture.
Sudo pulseaudio --system
Source et lectures supplémentaires: Exécution de PulseAudio en tant que démon système