A reprodução de áudio pára no Unity quando eu alterno o usuário

1

Minha configuração

O notebook System 76 Kudu-Pro com o Ubuntu 16.04 LTS que eu instalei e atualizo regularmente a cada poucos dias. Estou usando o Unity como meu desktop principal, com 12 usuários com os quais alterno com frequência para realizar tarefas específicas e para isolamento de segurança.

O problema

Eu começo a tocar música, mudo o usuário e a música pára. Isto acontece mesmo se eu ssh para localhost, desmarque a variável de ambiente DISPLAY, torne-se root e reproduza a música por um comando ( mplayer ) desta sessão. Eu encontrei este problema pela primeira vez em 14.04 LTS, que foi a primeira versão que eu estava usando o Unity e veio pré-instalado no laptop. Quando você alterna o usuário para o mesmo usuário que começou a reproduzir a música, a música é retomada. isso também se aplica ao áudio reproduzido pelo navegador, como vídeos do YouTube.

Minha pergunta

Como posso reproduzir músicas que continuam tocando (em um fundo virtual?) quando troco de usuário? Além disso, o PulseAudio está envolvido nisso?

Considerações

Se a solução precisar de acesso root ou sudo, posso fazer isso. Se a solução precisar de alguma programação de pequena escala, posso fazer isso em C e / ou em Python. Eu tenho pensado que uma solução possível é obter um dispositivo de áudio USB e esperar que este segundo dispositivo de áudio possa funcionar.

    
por Skaperen 24.07.2017 / 09:45

1 resposta

1

Executando todo o sistema PulseAudio

Com o funcionamento do PulseAudio no modo de todo o sistema, qualquer áudio iniciado por um usuário autorizado será reproduzido em segundo plano, contanto que esse usuário esteja conectado.

Antes de prosseguir, leia o seguinte sobre por que a execução geral do sistema não é uma boa ideia:

No entanto, podemos fazer isso se quisermos. Somente as contas autorizadas poderão controlar o volume ou iniciar outra instância da saída de som.

Preparando o sistema para executar o Pulseaudio no modo de todo o sistema

Anote todas as alterações que você fez para poder revertê-las caso não goste do resultado (testei tudo isso em uma máquina virtual).

  1. Desativar a reprodução automática de pulseaudio para o usuário que controlará o áudio

    echo autospawn = no > $HOME/.config/pulse/client.conf
    

    Isso impede a geração automática de pulseaudio para as contas $ HOME fornecidas. As configurações aqui substituirão as configurações de todo o sistema em /etc/pulse , o que obviamente pode ser feito alternativamente.

  2. Pare uma instância em execução de pulseaudio no modo de usuário

    pulseaudio -k
    
  3. Prepare usuários e grupos necessários (caso ainda não existam)

    sudo addgroup --system pulse
    sudo adduser --system --ingroup pulse --home /var/run/pulse pulse
    sudo addgroup --system pulse-access
    sudo adduser pulse audio
    
  4. Permitir que usuários acessem o PulseAudio do sistema inteiro

    sudo adduser <username> pulse-access
    

    Somente usuários adicionados a pulse-access poderão controlar o volume de um áudio de reprodução.

Iniciar o pulseaudio no modo de todo o sistema

sudo pulseaudio --system

Fonte e outras leituras: Executando o PulseAudio como Daemon de todo o sistema

    
por Takkat 24.07.2017 / 20:41