Comment déboguer les problèmes avec Pulse Audio?

13

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 correctement le son.

Je dois joindre ma machine Ubuntu au domaine d'une fenêtre (mon serveur de 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 à joindre 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 qu'USER_B, il n'y a pas d'audio pour cet utilisateur sur la même machine.

J'ai croisé un chèque avec mon compte User_A. Il n'y a aucun problème avec le son pour User_A. Uniquement pour User_B, il n'y a pas d'audio.

Lorsque j'ai vérifié les paramètres sonores 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 à ce sujet? Pourquoi il n'y a pas de son pour User_B?

Pouvez-vous me donner un peu plus d'informations sur la façon de «vérifier si des utilisateurs sont ajoutés ou non dans le groupe audio».

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

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

Et j'ai également trouvé cela sur le journal audio à impulsions. 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.
Senthil Kumaran
la source
Merci pour votre réponse. Seul B est connecté à mon système. Il n'a pas de son. Je me déconnecte de B et me reconnecte en tant que A. Maintenant, A a du son. Fondamentalement, A a toujours du son alors que B n'a pas de son dans le même système. Et même après le redémarrage, B n'a pas de son
Senthil Kumaran
Comme je l'ai déjà dit, pour le casque B, il n'est pas répertorié dans les périphériques audio. Alors que pour A, le casque est répertorié.
Senthil Kumaran
Pouvez-vous me donner un peu plus d'informations sur la façon de «vérifier si des utilisateurs sont ajoutés ou non dans le groupe audio». Et aussi lorsque j'ai essayé d'exécuter pulseaudio -k dans un terminal (depuis User_B) E: [pulseaudio] main.c: Échec de la suppression du démon: aucun processus de ce type
Senthil Kumaran
Et j'ai également trouvé cela sur le journal audio à impulsions. Lorsque j'exécute : 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 () a échoué: org.freedesktop .DBus.Error.BadAddress: nom de socket abstrait trop long E: [pulseaudio] module-dbus-protocol.c: Échec du démarrage du serveur D-Bus local. E: [pulseaudio] module.c: Échec du chargement du module "module-dbus-protocol" (argument: ""): échec de l'initialisation. E: [pulseaudio] main.c: Le chargement du module a échoué. E: [pulseaudio] main.c: Échec de l'initialisation du démon.
Senthil Kumaran
1
Résume les commentaires dans une réponse.
Takkat

Réponses:

16

Cette réponse préliminaire résume les étapes de débogage du son disponible pour un utilisateur uniquement dans un environnement où des domaines ont été joints pour cet utilisateur. Il peut être nécessaire de le prolonger ultérieurement.

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

  1. Pulseaudio fonctionne-t-il du tout?
    Habituellement, vous verrez cela en ayant accès au menu du son dans la barre supérieure. Alternativement, nous pouvons émettre la commande suivante dans un terminal:

    pulseaudio -k
    

    Il y aura une erreur si pulseaudio ne fonctionne pas. De plus, cette commande prend en charge l'arrêt et la réapparition de pulseaudio en cas de blocage.

  2. Y a-t-il des paramètres utilisateur incorrects pour le démon pulseaudio?
    Pour tester cela, nous devons renommer le répertoire des paramètres dans le HOME de l'utilisateur affecté 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 désactivés depuis ALSA?
    Nous pouvons ouvrir l'alsamixer dans un terminal pour ajuster le volume des canaux et réactiver un canal au cas où il serait accidentellement coupé:

    alsamixer
    
  4. Assurez-vous que les utilisateurs ne sont pas dans le groupe «audio»
    Un utilisateur du audiogroupe a un accès exclusif au serveur pulseaudio. Les autres utilisateurs ne peuvent pas y accéder pendant que cet utilisateur l'utilise. L'utilisateur ne doit donc pas faire partie du audiogroupe.

  5. Démarrer Pulseaudio manuellement Si
    pulseaudio n'était pas en cours d'exécution, nous pouvons également démarrer le démon à partir de la ligne de commande avec

    pulseaudio -D
    

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

  6. Parcourir les fichiers journaux
    Pulseaudio sera chargé au démarrage du système et lors de la connexion de l'utilisateur. Par conséquent, les erreurs ne peuvent être lues qu'à partir d'un journal généré au démarrage de pulseaudio. Consultez 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 l'exécuter en mode verbeux:

    pulseaudio -vvvv <options>
    

à compléter


Dans le cas donné dans la question, nous avons pu voir que pulseaudio ne fonctionne pas car il n'a pas pu démarrer le service D-Bus. Cela peut probablement être dû à un chemin interrompu ou trop long vers la PAGE D'ACCUEIL de l'utilisateur ( voir bogue n ° 872992 ). Comme solution de contournement, nous pouvons émettre pulseaudio sans contrôle D-Bus en commentant la ligne suivante /etc/pulse/default.pacomme ceci:

# load-module module-dbus-protocol

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

Takkat
la source
Ubuntu 17.10, procédure toujours d'actualité. Ça m'a aidé.
hariprasad
Je ne sais pas exactement ce qui a provoqué le correctif. Voilà ce que j'ai essayé. Créé un dossier .pulsedans le dossier d'accueil. Symbolique lié à .config. ln -s /home/<user>/.pulse /home/<user>/.config/pulse. Comme j'utilisais i3, ajouté exec /usr/bin/pulseaudio --start --log-target=syslogpour démarrer pulseaudio au démarrage. (Ubuntu 18.04)
Hari KT
2

sur mon système Debian, j'ai pu le faire fonctionner après, sur les conseils d'une personne plus intelligente que moi, en copiant (en tant que root) les fichiers $ HOME / .pulse / et $ HOME / .pulse-cookie de $ USER_A vers $ USER_B, chownen les intégrant de manière appropriée.

jcomeau_ictx
la source
Je vous remercie! Cela a résolu mon problème, comme indiqué ici: askubuntu.com/questions/752574/…
Joshua Fox