Movendo pulseaudio fora de casa

5

Temos vários desktops Ubuntu com seus diretórios pessoais montados como compartilhamentos NFS. Se uma conexão NFS for interrompida, mesmo que por menos de um segundo, o pulseaudio perderá sua mente. Os resultados são um bloqueio temporário (com o Ubuntu diminuindo a tela), travamentos e até mesmo alguns pânicos aqui e ali. Você pode ver a miríade de problemas do NFS + pulseaudio com uma simples pesquisa no Google para esses termos.

Devido a isso, eu realmente quero apenas mover o pulso para fora de / home e colocá-lo em algum lugar mais adequado ou específico para a máquina.

Por alguma razão, pulseaudio é tudo sobre segurança. Eu não estou realmente sofrendo com isso, embora eu não tenha certeza do porque é tão importante para um daemon de som. Mas suas restrições são muito restritivas.

Por exemplo, eu tentei usar o comando symlinking ~ / .pulse em / tmp e ele retornará o seguinte:

Failed to create secure directory: Too many levels of symbolic links

E o pulso será interrompido.

Depois encontrei este tópico que indica variáveis ambientais que podem ser definidas para direcionar o pulso para outros diretórios. Então, tentei configurar o ativador de pulso ( /etc/xdg/autostart/pulseaudio.desktop ) para usar a seguinte linha do Exec:

Exec='PULSE_DIR="/tmp/$( whoami )-pulse"; PULSE_CONFIG_PATH=PULSE_DIR; PULSE_STATE_PATH=PULSE_DIR; PULSE_RUNTIME_PATH=PULSE_DIR; mkdir -p $PULSE_DIR && chmod 700 $PULSE_DIR && start-pulseaudio-x11'

Eu até tentei configurar as permissões e o dono para algo que eu achasse que o pulso ficaria feliz. Eu peguei o que eu achava que queria do stacktrace postado no bug 662 (mais informações sobre esse problema também).

No entanto, este conjunto de comandos resulta no pulso jogando o seguinte e, em seguida, saindo.

Failed to create secure directory: Permission denied

Agora, como os desenvolvedores parecem pouco dispostos a aceitar isso como um problema, preciso encontrar uma maneira de contornar isso. Se não, vou remover o pulso, o que não é ideal para compatibilidade futura com essas máquinas.

Já perdemos uma tonelada de horas de trabalho em rastrear e tentar resolver esse problema e é hora de seguir em frente.

Se alguém tiver alguma idéia sobre soluções alternativas ou tiver mais alguma informação sobre esse problema, eu realmente aprecio isso.

    
por Mike Shultz 10.08.2012 / 18:28

3 respostas

1

Os desenvolvedores do PulseAudio não parecem gostar de muitas coisas, uma das quais é essa solução alternativa:

Use o PulseAudio como um daemon do sistema , em vez de executá-lo por usuário.

Como mencionei, os desenvolvedores não recomendam particularmente isso, por suas próprias razões . Se você fizer isso, esteja ciente do possível impacto de segurança em seus sistemas.

    
por 10.08.2012 / 21:50
1

Um pouco atrasado, mas talvez ajude mesmo assim.

Um bindmount para alguma outra pasta (fora da sua montagem NFS) é seu amigo. Eu apenas tentei com sucesso.

mount -o ligar /tmp/.johndoe_puls /home/johndoe/.puls

Claro, isso só pode ser feito pelo usuário root. O ponto de montagem do bindmount obtém o mesmo conjunto de permissões que o destino de montagem.

Atenciosamente, Jörn

    
por 22.06.2014 / 18:48
0

Seu script tem vários erros. Quando você deseja mover os diretórios pulseaudio para fora do diretório inicial, adicione o seguinte código ao arquivo ~/.bash_profile config:

PULSE_DIR="/tmp/$( whoami )-pulse"
mkdir -p $PULSE_DIR && chmod 700 $PULSE_DIR
export PULSE_CONFIG_PATH=$PULSE_DIR
export PULSE_STATE_PATH=$PULSE_DIR
export PULSE_RUNTIME_PATH=$PULSE_DIR

Atenciosamente, Jiri

    
por 26.09.2014 / 16:11