Problemas com pulseaudio - pavucontrol e pacmd não conectando ao pulseaudio

4

Estou executando o Debian Jessie (8.3) com os seguintes pulseaudio packages. Tanto quanto eu sei todas as coisas relacionadas com som (incluindo pulseaudio ) corresponde aos pacotes Jessie padrão. Eu não personalizei nada. Também não fiz nada com systemd , sobre o qual não sei nada.

dpkg -l | grep pulseaudio
ii  gstreamer1.0-pulseaudio:amd64    1.4.4-2               amd64                 GStreamer plugin for PulseAudio
ii  pulseaudio                       5.0-13                amd64                 PulseAudio sound server
ii  pulseaudio-esound-compat         5.0-13                amd64                 PulseAudio ESD compatibility layer
ii  pulseaudio-module-gconf          5.0-13                amd64                 GConf module for PulseAudio sound server
ii  pulseaudio-module-x11            5.0-13                amd64                 X11 module for PulseAudio sound server
ii  pulseaudio-utils                 5.0-13                amd64                 Command line tools for the PulseAudio sound server

Acabei de substituir meu antigo Sound Blaster Live! cartão com um novo cartão Asus Xonar DX. O som funciona, mas o microfone não funciona. Além disso, tenho problemas com pulseaudio. Os problemas do pulseaudio (pelo menos em parte) precedem a substituição do cartão, mas acho que preciso resolvê-los primeiro, antes de descobrir o problema do microfone. Então, essa questão é apenas sobre os problemas do Pulseaudio.

Até que eu reinicializei hoje após a reinstalação da nova placa de som, pavucontrol estava funcionando, pelo menos, apesar de pacmd estar com erros por algum tempo.

Isso parece em parte ser algum tipo de problema de permissão, mas não sei o quê. Não fiz alterações manuais em pulseaudio nem nada relacionado a som, além de adicionar meu usuário aos grupos pulse e pulse-connect . Eu não achei que faria qualquer diferença, e eu não notei nenhum.

Estou adicionando a saída de vários comandos abaixo para ilustrar o problema, tanto como raiz quanto como usuário. Comandos precedidos por $ representam comandos executados pelo usuário e comandos precedidos por # representam comandos executados por raiz, conforme a convenção padrão.

$ pulseaudio -vv
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 5.0
D: [pulseaudio] main.c: Compilation host: x86_64-pc-linux-gnu
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -fstack-protector-strong -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 -fno-common -fdiagnostics-show-option
D: [pulseaudio] main.c: Running on host: Linux x86_64 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17)
D: [pulseaudio] main.c: Found 6 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 501a8b6f724c87677a6f6bb351f93f66.
I: [pulseaudio] main.c: Session ID is 55.
E: [pulseaudio] core-util.c: Failed to create secure directory (/run/user/1000/pulse): Permission denied

A saída como root para este comando foi a mesma.

$ pacmd
Failed to create secure directory (/run/user/1000/pulse): Permission denied
No PulseAudio daemon running, or not running as session daemon

# pacmd
Daemon not responding.

Pavucontrol dá (primeiro, no terminal)

$ pavucontrol 
Failed to create secure directory (/run/user/1000/pulse): Permission denied
Failed to create secure directory (/run/user/1000/pulse): Permission denied

E a seguinte caixa aparece. (Este gráfico foi retirado do Pulseaudio quebrado no Arch: pa_stream_writable_size () do terdon falhou: Conexão finalizada , já que é exatamente o mesmo que o que eu vejo.)

Naraiz

#pavucontrol[Apopupboxappearswith]EstablishingconnectiontoPulseAudio.Pleasewait.

findnãoencontranenhumhitpara"ulse" no diretório ~/.config .

~/.config$ find . -name '*ulse*'

não retorna nada.

Pulseaudio parece estar em execução

# ps aux | grep pulse
faheem    5057  0.1  0.0 376208 10432 ?        S<l  13:54   0:35 /usr/bin/pulseaudio --start --log-target=syslog
faheem    5065  0.0  0.0 122904  5164 ?        S    13:54   0:00 /usr/lib/pulseaudio/pulse/gconf-helper

assim como systemd .

# ps aux | grep systemd
root       273  0.0  0.0  33092  6864 ?        Ss   13:50   0:00 /lib/systemd/systemd-journald
root       290  0.0  0.0  41644  3864 ?        Ss   13:50   0:00 /lib/systemd/systemd-udevd
root      1067  0.0  0.0  28268  2968 ?        Ss   13:50   0:00 /lib/systemd/systemd-logind
message+  1100  0.0  0.0  43160  4432 ?        Ss   13:50   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
faheem    4435  0.0  0.0  36432  4544 ?        Ss   13:51   0:00 /lib/systemd/systemd --user

As permissões dos arquivos em /run/user/1000/pulse são:

/run/user/1000/pulse# ls -laR
.:
total 4
drwx------ 2 root   root    80 Feb 22 13:54 .
drwx------ 6 faheem faheem 120 Feb 22 13:54 ..
srwxrwxrwx 1 faheem faheem   0 Feb 22 13:54 native
-rw------- 1 faheem faheem   5 Feb 22 13:54 pid
    
por Faheem Mitha 22.02.2016 / 15:52

1 resposta

4

Este problema parece ter sido causado pela execução de algum comando Pulseaudio como root. Isso aparentemente mudou as permissões em /run/user/1000/pulse . A reinicialização corrigiu o problema.

Estes são agora

$ ls  -lah /run/user/1000/pulse/
total 4.0K
drwx------ 2 faheem faheem 100 Feb 22 21:50 .
drwx------ 6 faheem faheem 120 Feb 22 21:41 ..
srwxrwxrwx 1 faheem faheem   0 Feb 22 21:50 cli
srwxrwxrwx 1 faheem faheem   0 Feb 22 21:41 native
-rw------- 1 faheem faheem   5 Feb 22 21:41 pid

Observe a diferença do resultado que aparece na minha pergunta:

/run/user/1000/pulse# ls -laR
.:
total 4
drwx------ 2 root   root    80 Feb 22 13:54 .
drwx------ 6 faheem faheem 120 Feb 22 13:54 ..
srwxrwxrwx 1 faheem faheem   0 Feb 22 13:54 native
-rw------- 1 faheem faheem   5 Feb 22 13:54 pid

Ou seja. /run/user/1000/pulse é de propriedade do root lá.

Mas se isso é quebrado tão facilmente, parece excessivamente frágil.

    
por 22.02.2016 / 18:41