5 votes

Déplacer pulseaudio hors de home

Nous avons une série de bureaux Ubuntu avec leurs répertoires personnels montés en tant que partages NFS. Si une connexion NFS est interrompue, même pour ce qui semble être moins d'une seconde, pulseaudio perd la tête. Les résultats peuvent être un blocage temporaire (avec Ubuntu qui grise l'écran), des plantages, voire même quelques paniques de temps en temps. Vous pouvez voir la myriade de problèmes NFS + pulseaudio avec une simple recherche Google pour ces termes.

En raison de cela, je veux vraiment déplacer pulse hors de /home et le mettre quelque part de plus adapté ou spécifique à la machine.

Pour une raison quelconque, pulseaudio accorde beaucoup d'importance à la sécurité. Ce n'est pas vraiment un reproche, même si je ne suis pas sûr de la raison pour laquelle c'est si important pour un démon du son. Mais leurs règles sont trop contraignantes.

Par exemple, j'ai essayé de créer un lien symbolique de ~/.pulse vers /tmp et il renverra simplement ce qui suit :

Impossible de créer un répertoire sécurisé : Trop de niveaux de liens symboliques

Et pulse s'arrêtera.

Ensuite, je suis tombé sur ce fil de discussion qui indique des variables d'environnement pouvant être définies pour diriger pulse vers d'autres répertoires. J'ai donc essayé de configurer le lanceur pulse (/etc/xdg/autostart/pulseaudio.desktop) pour utiliser la ligne d'Exécution suivante :

Exécution='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'

J'ai même essayé de définir les permissions et le propriétaire sur quelque chose que je pensais que pulse apprécierait. J'ai déduis ce qu'il voulait de la trace d'appel publiée dans bug 662 (plus d'informations sur ce problème là-bas aussi).

Cependant, cet ensemble de commandes se traduit par pulse renvoyant ce qui suit puis en sortant.

Impossible de créer un répertoire sécurisé : Permission refusée

Maintenant, comme les développeurs semblent généralement ne pas vouloir reconnaître tout cela comme un problème, je dois trouver un moyen de contourner cela. Sinon, je vais supprimer pulse, ce qui n'est pas idéal pour la compatibilité future sur ces machines.

Nous avons déjà perdu énormément d'heures d'homme à traquer et essayer de résoudre ce problème et il est temps de passer à autre chose.

Si quelqu'un a des idées de contournements ou plus d'informations sur ce problème, je l'apprécierais vraiment.

1voto

Michael Hampton Points 232226

Les développeurs de PulseAudio ne semblent pas aimer beaucoup de choses, dont l'une est ce contournement:

Utiliser PulseAudio en tant que démon système, plutôt que de l'exécuter par utilisateur.

Comme je l'ai mentionné, les développeurs ne recommandent pas particulièrement cela, pour leurs propres raisons. Si vous le faites, soyez conscient de l'impact potentiel sur la sécurité de vos systèmes.

1voto

Jörn Frenzel Points 11

Un peu tard, mais peut-être que cela aide quand même.

Un bindmount vers un autre dossier (à l'extérieur de votre montage NFS) est votre ami. Je viens de l'essayer avec succès.

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

Évidemment, cela ne peut être fait que par l'utilisateur root. Le point de montage du bindmount reçoit le même ensemble de permissions que la cible du montage.

Cordialement, Jörn

0voto

JiriHnidek Points 101

Votre script comporte plusieurs erreurs. Lorsque vous souhaitez déplacer les répertoires de pulseaudio hors du répertoire home, vous devez ajouter le code suivant à votre fichier de configuration ~/.bash_profile :

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

Cordialement, Jiri

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X