pulseaudio nenhum som após su para root, nenhum dispositivo de áudio padrão configurado

2

Esse comportamento exibe pelo menos no Ubuntu 13.10 e no Ubuntu 14.04.

Estou reproduzindo sons por meio do comando play do pacote sox na linha de comando. Funciona bem comigo, o usuário que loga no X. No entanto, quando eu su como root, ele não funciona mais:

% play /usr/share/sounds/alsa/Front_Center.wav
play FAIL sox: Sorry, there is no default audio device configured

O próprio comando funciona bem como executado por mim. É isso que deveria ser?

Aqui estão os meus pacotes sox instalados (ou seja, eu tenho o libsox-fmt-pulse instalado):

ii libsox-fmt-base:amd64  amd64 Minimal set of SoX format libraries
ii libsox-fmt-mp3:amd64  amd64 SoX MP2 and MP3 format library
ii libsox-fmt-pulse:amd64  amd64 SoX PulseAudio format I/O library
ii libsox2:amd64  amd64 SoX library of audio effects and processing
ii sox  amd64 Swiss army knife of sound processing
    
por xpt 20.05.2014 / 03:50

1 resposta

2

O Pulseaudio no Ubuntu está configurado para usar sessões por usuário. Isso significa que, embora a conta de usuário normal possa acessá-la com prazer, como você já viu, ela não está configurada para ser usada por outro usuário ao mesmo tempo (como root).

Isso não é um erro; é um comportamento normal, dada a configuração que o Ubuntu envia.

"I've spent many hours researching online, testing various setups and talking to Pulseaudio devs. The bottom line of it all is that running pulseaudio in normal user mode will allow only the active session as marked by ConsoleKit to access the audio hardware."

Fonte: link

Existem algumas informações sobre como configurar o Pulseaudio para ser executado como uma instância ampla do sistema, em vez de usar uma configuração por usuário, mas isso não é sem suas desvantagens.

Da página de manual do pulseaudio:

--system[=BOOL] Run as system-wide instance instead of per-user. Please note that this disables certain features of PulseAudio and is generally not recommended unless the system knows no local users (e.g. is a thin client). This feature needs special configuration and a dedicated UNIX user set up. It is highly recommended to combine this with --disallow-module-loading (see below).

Você seria o melhor a considerar o motivo pelo qual você está tentando fazer o root reproduzir o áudio e determinar que não há melhor maneira de realizar o que você está tentando fazer. Se você precisar permitir que mais de um usuário tenha acesso simultâneo ao pulseaudio, essa é a rota que você vai querer olhar para baixo.

    
por 14.08.2014 / 22:17