Configurazioni pulseaudio systemwide
Ciao *
Propongo una possibile soluzione al problema delle configurazioni audio che vengono salvate in ~/.config/pulse/ ma possono essere incompatibili spostandosi da un client all’altro (quindi non è una modifica da applicare alle macchine standalone). Propongo di testarlo valutando se non ci siano controindicazioni. e migliorarlo sia come codice bash che come pacchettizzazione.
- Rimuovere il contenuto della cartella ~/.config/pulse/ con uno script da inserire in /etc/fuss-client/session-cleanup-script:
#! /bin/bash
rm $HOME/.config/pulse/*
- Inserire in /usr/bin/ il seguente script avviabile da Menu
#! /bin/bash
# Il seguente comando avvia il demone pulseaudio che di default per root non è attivo
pulseaudio --start
#Comando zenity che invita a scegliere la configurazione attraverso il Plugin PulseAudio in basso a dx
zenity --info --width 500 --text "\nConfigura l'audio di questa macchina per tutti gli utenti! \n\nUtilizza il plugin PulsAudio in basso a destra."
zenity --question --title="Configura audio" --text="\nConfermi la configurazione audio selezionata?" --width=500 --height=100
# Se l’amministratore sceglie OK vengono lette le impostazioni audio e trascritte nel file /etc/pulse/default.pa che viene letto al riavvio della macchina purché la cartella ~/.config/pulse/ sia vuota
if [ $? == 0 ]; then
input=$(pacmd list-sources | grep -A 1 -e '* index:' | grep name | cut -d "<" -f2 | cut -d ">" -f1)
output=$(pacmd list-sinks | grep -A 1 -e '* index:' | grep name | cut -d "<" -f2 | cut -d ">" -f1)
sed -i -e 's/.*set-default-source.*/set-default-source '"${input}"'/' /etc/pulse/default.pa
sed -i -e 's/.*set-default-sink.*/set-default-sink '"${output}"'/' /etc/pulse/default.pa
fi
if [ $? == 1 ]; then
exit 0
fi
exit
- Ci si logga come root, si lancia lo script, che avvia pulseaudio e invita a scegliere le impostazioni per il sistema. Scelte le impostazioni dall’apposito plugin PulseAudio, si da conferma e le impostazioni vengono salvate systemwide.