pulseaudio ne fonctionne pas: «Répertoire personnel non accessible: autorisation refusée»

16

J'utilise Clementine et cela a commencé hier pour refuser de jouer quoi que ce soit et afficher une boîte d'alerte "accès refusé". Même chose avec Rhythmbox. Après un certain temps, j'ai réalisé que mon indication sonore est également grisée et qu'il n'y a pas de carte son visible dans les paramètres sonores.

Je pense que Pulseaudio est le coupable mais aucune certitude là-bas (voir la sortie ci-dessous). Je suis le 13.04 et quelque chose s'est mal passé mais je ne vois pas comment le redémarrer avec une config propre ou si j'ai besoin de changer quoi que ce soit.

lionel@prime:~$ pulseaudio -vvvv
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.
D: [pulseaudio] core-util.c: RealtimeKit worked.
I: [pulseaudio] core-util.c: Successfully gained nice level -11.
I: [pulseaudio] main.c: This is PulseAudio 3.0
D: [pulseaudio] main.c: Compilation host: x86_64-pc-linux-gnu
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -W -Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option
D: [pulseaudio] main.c: Running on host: Linux x86_64 3.8.0-29-generic #42-Ubuntu SMP Tue Aug 13 19:40:39 UTC 2013
D: [pulseaudio] main.c: Found 8 CPUs.
I: [pulseaudio] main.c: Page size is 4096 bytes
D: [pulseaudio] main.c: Compiled with Valgrind support: no
D: [pulseaudio] main.c: Running in valgrind mode: no
D: [pulseaudio] main.c: Running in VM: no
D: [pulseaudio] main.c: Optimized build: yes
D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled.
I: [pulseaudio] main.c: Machine ID is 77bf4823eb9fbd64b69d605100000002.
I: [pulseaudio] main.c: Using runtime directory /run/user/lionel/pulse.
E: [pulseaudio] core-util.c: Home directory not accessible: Permission denied

La sortie de ls -l /run/user/lionel/etpulseaudio --dump-conf

lionel@prime:~$ ls -l /run/user/lionel/
total 0
drwx------ 2 lionel lionel  60 août  28 15:15 dconf
dr-x------ 2 lionel lionel   0 août  28 12:30 gvfs
drwx------ 2 lionel lionel  40 août  28 12:30 gvfs-burn
drwx------ 2 lionel lionel 120 août  28 12:30 keyring-iiUWPh
drwx------ 2 lionel lionel  40 août  28 15:11 pulse
lionel@prime:~$ pulseaudio --dump-conf
### Read from configuration file: /etc/pulse/daemon.conf ###
daemonize = no
fail = yes
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 5
allow-module-loading = yes
allow-exit = yes
use-pid-file = yes
system-instance = no
local-server-type = user
cpu-limit = no
enable-shm = yes
flat-volumes = no
lock-memory = no
exit-idle-time = 20
scache-idle-time = 20
dl-search-path = /usr/lib/pulse-3.0/modules
default-script-file = /etc/pulse/default.pa
load-default-script-file = yes
log-target = auto
log-level = notice
resample-method = speex-float-1
enable-remixing = yes
enable-lfe-remixing = no
default-sample-format = s16le
default-sample-rate = 44100
alternate-sample-rate = 48000
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 8
default-fragment-size-msec = 10
enable-deferred-volume = yes
deferred-volume-safety-margin-usec = 1
deferred-volume-extra-delay-usec = 0
shm-size-bytes = 0
log-meta = no
log-time = no
log-backtrace = 0
rlimit-fsize = -1
rlimit-data = -1
rlimit-stack = -1
rlimit-core = -1
rlimit-rss = -1
rlimit-as = -1
rlimit-nproc = -1
rlimit-nofile = 256
rlimit-memlock = -1
rlimit-locks = -1
rlimit-sigpending = -1
rlimit-msgqueue = -1
rlimit-nice = 31
rlimit-rtprio = 9
rlimit-rttime = 1000000
Lionel Barret
la source
1
Modifiez votre question et ajoutez la sortie de ls -l /run/user/lionel/et pulseaudio --dump-conf.
Braiam
Je viens d'ajouter la sortie.
Lionel Barret

Réponses:

17

Ok, je l'ai finalement compris.

C'était un problème d'autorisation avec mon dossier personnel et pulseaudio.

Exécutez la commande suivante pour corriger les $HOMEautorisations de répertoire pour le courant $USER:

sudo chown -R $USER:$USER $HOME/

J'ai utilisé http://www.linuxquestions.org/questions/linux-software-2/problem-with-pulse-audio-834041/ et http://ubuntuforums.org/showthread.php?p=6208727 comme sources.

La solution pour moi était de corriger les autorisations à l'aide de la commande suivante: sudo chown -R lionel:lionel /home/lionelpuis d'utiliser pavucontrolpour réactiver le son de la sortie.

L'indicateur gnome est toujours grisé mais la musique est de retour, et c'est une bonne chose.

Lionel Barret
la source
3

(J'essaie seulement d'améliorer légèrement la réponse marquée, mais avec un peu plus que ce que je pense fonctionne dans un simple commentaire. J'ai pensé qu'il était utile au moins de poster pour le gars suivant. Si un modérateur n'est pas d'accord, cette réponse pourrait être rétrogradée à un commentaire sur la réponse sélectionnée si cela est plus approprié.)

La référence à pavucontrol était plutôt cryptique et cette réponse un peu moins utilisable pour moi, mais elle m'a mis sur une solution.

Je n'ai eu aucun des problèmes de permission et de propriété qui semblent être l'objectif principal ici. pavucontrol , que j'ai dû installer à cette fin, m'a permis, sur l'onglet de lecture, de passer de "Contrôleur audio numérique haute définition (HDMI)" à "Stéréo analogique analogique intégré" et mon audio a recommencé à fonctionner comme avant .

Je ne sais toujours pas que j'ai réussi à faire fonctionner mon ThinkPad (exécutant Mint 13, qui est essentiellement Ubuntu 12.04 LTS), mais c'est ainsi que j'ai pu faire fonctionner l'audio (en particulier, Audacious Player utilisant Pulse). J'espère que ça aide.

Russ Bateman
la source
L'utilisation d'i3wm sur Ubuntu et l'installation de pavucontrol ont résolu le problème pour moi. Une réponse marquée n'était pas nécessaire.
Philip Kirkbride
1

Dans mon cas, cela a été causé par la création d'un fichier ~/.config/pulse/default.pa . La solution pare-balles pour résoudre mon problème de paramètres sonores supprimait le répertoire avec mes préférences pulseaudio:

rm -rf ~/.config/pulse/
Artur Klesun
la source
0

Je n'ai pas assez de représentant pour commenter et remercier @Wanderer, mais son hack fonctionne parfaitement pour moi. Ne laissez jamais la négativité vous arrêter!

HOME=/tmp/$USER pulseaudio --start

Oui, il serait préférable de comprendre où se situe l'erreur d'autorisation, mais j'ai refait toutes mes autorisations pour la dernière heure en vain. J'ai mon répertoire utilisateur sur une autre partition symboliquement liée, j'ai changé les perms pour le lien, pour l'emplacement physique, pour le répertoire Home en vain. Je veux juste écouter Pandora pendant que je termine la configuration de mon Windows 10 VDI! Je peux donc finir de faire fonctionner GCP sur Kubuntu. Si rien d'autre sachant que ce hack fonctionne est instructif pour le dépannage!

Même une fois connecté, je ne peux toujours pas exécuter cela sans la même erreur:

systemctl --user start pulseaudio.service

Feb 14 18:56:40 pc pulseaudio[5435]: E: [pulseaudio] core-util.c: Home directory not accessible: Permission denied

Mais je peux passer au répertoire personnel sans problème en tant qu'utilisateur de base. J'ai vu d'autres processus système résoudre le lien vers / media / nom d'utilisateur / partition / home / nom d'utilisateur, il se peut donc que le service pulseaudio ne puisse pas suivre ce labyrinthe.

alchimie
la source
Où ajoutez-vous le HOME = / tmp / $ USER pulseaudio --start?
Dawoodjee
1
Il s'agit d'une commande à saisir en ligne de commande dans un terminal (émulateur). Je crois qu'il définit une variable d'environnement temporaire en utilisant les lettres capitales et =, puis en exécutant la commande pulseaudio. 'printenv' vous montrera d'autres variables.
alchimie
-1

ayant le même problème que l'OP, mais ne pouvant pas changer les autorisations sur $ HOME, j'ai trouvé une façon différente de démarrer pulseaudio: démarrer explicitement pulseaudion avec un $ HOME différent, comme

> HOME=/tmp/$USER pulseaudio --start

qui exécute maintenant le programme pour moi. Assurez-vous qu'il /tmp/$USERexiste.

hth

Vagabond
la source
C'est un hack incroyablement laid. Vous devriez vraiment comprendre comment récupérer un répertoire personnel accessible en écriture. Vous pouvez ouvrir une nouvelle question à ce sujet si vous ne pouvez pas le faire vous-même. Cela ne devrait pas être trop difficile car la gamme des causes possibles est plutôt limitée. -1
David Foerster