web-dev-qa-db-fra.com

Comment résoudre les problèmes avec Pulse Audio?

J'ai installé Ubuntu 11.10 sur ma machine. Je me suis connecté en tant que USER_A. Mon périphérique audio externe est un casque et j'ai pu entendre le son correctement.

Je dois connecter ma machine Ubuntu à un domaine de la fenêtre (le serveur de mon bureau). J'ai suivi les étapes expliquées dans http://www.ghacks.net/2010/04/21/join-a-ubuntu-machine-to-a-windows-domain/ et j'ai réussi à m'inscrire. ma machine Ubuntu au domaine Windows.

Sudo apt-get install likewise-open5
Sudo domainjoin-cli join DOMAIN USER_B

Maintenant, lorsque je me suis connecté en tant que USER_B, il n'y a pas de son pour cet utilisateur sur le même ordinateur.

J'ai coché mon compte User_A. Il n'y a aucun problème avec le son pour User_A. Seulement pour User_B, il n'y a pas d'audio.

Lorsque j'ai vérifié les paramètres audio de User_B, aucun périphérique n'est répertorié dans Matériel, entrée et sortie. Alors que pour l'utilisateur A, mon casque est répertorié dans Entrée et Sortie.

Quelqu'un peut-il m'aider s'il vous plaît à ce sujet. Pourquoi il n'y a pas de son pour User_B?

Pouvez-vous s'il vous plaît m'informer un peu plus sur la façon de "vérifier si les utilisateurs sont ajoutés ou non dans le groupe audio".

Et aussi quand j'ai essayé d'exécuter pulseaudio -k dans un terminal (de User_B)

E: [pulseaudio] main.c: Failed to kill daemon: No such process

Et aussi j'ai trouvé ceci sur le journal audio de Pulse. Quand je cours:

pulseaudio --log-level=4 --log-target=stderr

J'ai trouvé les lignes d'erreur suivantes dans mon journal:

E: [pulseaudio] module-dbus-protocol.c: dbus_server_listen() failed: org.freedesktop.DBus.Error.BadAddress: Abstract socket name too long
E: [pulseaudio] module-dbus-protocol.c: Starting the local D-Bus server failed.
E: [pulseaudio] module.c: Failed to load module "module-dbus-protocol" (argument: ""): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Failed to initialize daemon.
12
Senthil Kumaran

Cette réponse préliminaire résume les étapes nécessaires au débogage du son disponible pour un utilisateur uniquement dans un environnement où les domaines ont été joints pour cet utilisateur. Il faudra peut-être l'étendre plus tard.

Dans le cas où nous n'avons du son que pour un utilisateur, nous risquons d'avoir une mauvaise configuration dans les paramètres de ce compte utilisateur. Nous devons suivre les étapes suivantes à partir du compte d'utilisateur concerné pour obtenir des informations supplémentaires sur le problème.

  1. Est-ce que pulseaudio fonctionne du tout?
    En général, vous verrez cela en ayant accès au menu Son dans la barre du haut. Alternativement, nous pouvons émettre la commande suivante dans un terminal:

    pulseaudio -k
    

    Il y aura une erreur si pulseaudio ne s'exécute pas. En outre, cette commande permet d’arrêter et de réactiver pulseaudio en cas de blocage.

  2. Existe-t-il de mauvais paramètres utilisateur pour le démon pulseaudio?
    Pour tester cela, nous devons renommer le répertoire des paramètres dans le répertoire HOME de l'utilisateur concerné, suivi d'un redémarrage de pulseaudio (voir 1. ):

    mv ~/.Pulse ~/.Pulse.bad
    

    ou

    mv ~/.config/Pulse ~/.config/Pulse.bad  ## for newer releases
    
  3. Les canaux sont-ils coupés de ALSA?
    Nous pouvons ouvrir alsamixer dans un terminal pour régler le volume des canaux et rétablir le son du canal en cas de coupure accidentelle du son:

    alsamixer
    
  4. Assurez-vous que les utilisateurs sont pas dans le groupe 'audio'
    Un utilisateur du groupe audio possède un accès exclusif au serveur pulseaudio. Les autres utilisateurs ne peuvent pas y accéder tant que cet utilisateur l'utilise. Par conséquent, l'utilisateur ne doit pas appartenir au groupe audio.

  5. Démarrer Pulseaudio manuellement
    Si pulseaudio n’était pas en marche, nous pouvons également lancer le démon en ligne de commande avec

    pulseaudio -D
    

    Pulseaudio utilise ensuite les paramètres par défaut et lance son démon. Nous pouvons également appliquer cette commande à nos applications à démarrage automatique pour surmonter le cas où pulseaudio ne peut pas s'exécuter avant le chargement du bureau.

  6. Parcourir les fichiers journaux
    Pulseaudio sera chargé au démarrage du système et à la connexion de l'utilisateur. Par conséquent, les erreurs ne peuvent être lues que dans un journal généré au démarrage de pulseaudio. Voir ce guide sur la façon de générer un script de journal pulsaudio . En bref, nous devons faire attention à ce que pulseaudio ne réapparaisse pas, nous pouvons le lancer en mode verbeux:

    pulseaudio -vvvv <options>
    

à compléter


Dans le cas donné dans la question, nous avons pu constater que pulseaudio ne s'exécutait pas car il était impossible de démarrer le service D-Bus. Cela peut probablement être dû à un chemin cassé ou trop long vers le répertoire HOME de l'utilisateur ( voir le bogue n ° 872992 ). Pour contourner le problème, nous pouvons émettre pulseaudio sans contrôle D-Bus en commentant la ligne suivante dans /etc/Pulse/default.pa comme ceci:

# load-module module-dbus-protocol

Cependant, nous (et nos applications) ne pourrons pas contrôler Pulseaudio à l’aide de D-Bus.

16
Takkat

sur mon système Debian, cela a fonctionné après, sur les conseils de quelqu'un de plus intelligent que moi, en copiant (en tant que root) les dossiers $ HOME/.Pulse/et $ HOME/.Pulse-cookie de $ USER_A vers $ USER_B, chownles correctement.

2
jcomeau_ictx