27 votes

Ubuntu change de périphérique sonore après la suspension, comment réparer ?

Ma configuration actuelle consiste à utiliser un moniteur branché sur mon ordinateur portable via HDMI et à utiliser les haut-parleurs de ce dernier pour l'audio, et non ceux intégrés à l'ordinateur. Lorsque la machine démarre, elle utilise l'HDMI par défaut, mais je suspends souvent l'ordinateur portable au cours de la journée et lorsqu'il reprend, il bascule le périphérique audio sur les haut-parleurs intégrés.

Ce n'est pas un gros problème comme vous pouvez l'imaginer mais c'est ennuyeux, je me demande s'il y a un script que je pourrais utiliser pour le forcer à resélectionner HDMI après la reprise ou à désactiver les haut-parleurs intégrés, ou à les définir par défaut d'une certaine manière. Pour info, les deux haut-parleurs intégrés sont sur la même "carte son" mais sont deux périphériques différents. J'utilise Ubuntu 16.04.

31voto

jrishaw Points 71

Si vous ne voulez pas redémarrer, redémarrez simplement pulseaudio :

pulseaudio --kill; pulseaudio --start

11voto

sambura Points 111

J'ai eu le même problème sur Ubuntu 17.10. Après la mise en veille, ou même après avoir réduit l'intensité de l'écran, la sortie audio passe toujours de la sortie numérique (souhaitée) à la sortie HDMI, même si mon écran n'a pas de haut-parleurs. En commentant la ligne

load-module module-switch-on-port-available

sur /etc/pulse/default.pa a fait l'affaire comme décrit dans Désactiver le son via HDMI de façon permanente .

Notez que la définition de puits par défaut comme indiqué ci-dessus n'a pas changé le comportement. De même, le script fourni ci-dessus pour définir le profil de la carte audio après la suspension est spécifique à l'utilisateur.

5voto

Sam Points 700

Cette question peut être liée à un problème avec Pulseaudio, version 8, comme indiqué dans ce (long) fil de bogue sur freedesktop.org .

En gros, Pulseaudio reroute le son lorsqu'il perd le contact avec le HDMI et ne le restitue pas après la reconnexion du HDMI. Ce problème est corrigé dans la version 9.

Pour que la version 8 retrouve le comportement des versions précédentes, suivez les instructions suivantes ces directions et redémarrer.

modifier /etc/pulse/default.pa pour commenter (ajouter # au début de) la ligne :

#load-module module-switch-on-port-available

Ensuite, réglez la sortie sonore dans Réglages du son et vérifiez qu'il persiste en suspendant/reprenant ou en éteignant l'écran. Cela a fonctionné pour moi.

3voto

Grzegorz Points 31

J'ai résolu ce problème en réglant le profil d'impulsion fixe sur output:hdmi-stereo lors de la reprise.

Pour obtenir une liste des profils d'impulsion : pacmd list-cards . Pour modifier le profil d'impulsion, par exemple : pacmd set-card-profile 0 output:hdmi-stereo .

A propos de l'exécution du script après la suspension : Exécuter script au réveil ?

A propos de l'exécution de pacmd en tant que root : [Résolu] Contrôler pulseaudio avec Shell Shell via pacmd / Newbie Corner / Arch Linux Forums :

3voto

WinEunuuchs2Unix Points 91128

Correction de la désactivation du son HDMI par PulseAudio lors de la mise en veilleuse

Cette "fonctionnalité non documentée" est apparue avec Ubuntu 16.04 et la nouvelle version de PulseAudio 8.

Créer un nouveau fichier /lib/systemd/system-sleep/tv-sound et copier dedans :

#!/bin/sh

case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0`
    # if no pre suspend action required
    sleep 1
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` 
    # if no post suspend action required
    sleep 2
    export PULSE_RUNTIME_PATH="/run/user/1000/pulse/"
    sudo -u rick -E pacmd set-card-profile 0 output:hdmi-stereo
    ;;
esac

NOTE : remplacer le nom de l'utilisateur rick (troisième ligne en partant du bas) avec votre nom d'utilisateur.

Ensuite, marquez-le comme exécutable avec la commande :

sudo chmod +x /lib/systemd/system-sleep/tv-sound

Une étape supplémentaire peut être nécessaire si output:hdmi-stereo (le dispositif pour la plupart des gens) est différent sur votre système.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X