GUIDA Connessione di un microfono e relativa notifica.

clessidra

Utente Attivo
766
272
CPU
VIA C3
GPU
Ati Rage
OS
linux - Red Hat 1.1
Da un po' di tempo mi chiedevo come ottenere una notifica visiva con notification-daemon (o altro equivalente) quando collego un microfono alla scheda audio usando un metodo indipendente. Espongo di seguito i passaggi che ho seguito nel caso in cui possa risultare utile a altri utenti.

Innanzitutto, ho dovuto installare il pacchetto acpid. Contiene un demone che intercetta diversi eventi, non solo quelli relativi alla scheda audio: batteria, tasti, chiusura dello schermo di un portatile, alimentazione, ecc.
In questa guida per nulla pretenziosa mi limiterò al solo collegamento di un microfono alla scheda audio tramite jack (e al suo scollegamento).



Dopo aver installato il pacchetto acpid bisogna avviare il servizio relativo.

In /etc/acpid/events ho creato (come root) il file microphone_jack col seguente contenuto:

event=jack/microphone.*
action=/opt/acpid/microphone_jack.sh "%e"

In /opt ho creato la cartella acpid che conterrà tutti i file che gestiscono gli eventi; poi ho creato in questa cartella il file microphone_jack.sh (che va reso eseguibile) con questo contenuto:

Bash:
#!/usr/bin/env bash


dev_icon='/opt/acpid/icons/audio-input-microphone.svg'

#dev_icon=''


ttext="$@"


declare -a logged_users=(`who | grep "(.*)" | sed 's/^\s*\(\S\+\).*/\1/g' | uniq | sort`)


for (( i=0; i<${#logged_users[@]}; i=($i + 1) )); do



   cur_user=${logged_users[$i]}

   su $cur_user -c "/opt/acpid/notify-send -i '$dev_icon' 'MICROFONO' '$ttext'"


done

Ora bisogna riavviare il servizio, o avviarlo se non si è provveduto in precedenza.
Quando si collegherà (o scollegherà) un microfono dovrebbe comparire una notifica con una icona, il testo principale MICROFONO e il testo secondario ovvero il messaggio generato dal collegamento o dallo scollegamento del microfono.

Note:
- per le notifiche ho usato il programma notify-send che è stato collocato nella stessa cartella degli altri file, ma può essere usato qualsiasi altro programma equivalente;
- nel file microphone_jack.sh la variabile dev_icon contiene il percorso dell'icona usata per la notifica; in alternativa commentare questo rigo e decommentare il successivo per non far apparire nessuna icona; tutte le icone le ho poste nella cartella icons;
- nel file microphone_jack.sh c'è una procedura che determina quali sono gli utenti che hanno effettuato il login, e a tutti questi utenti verrà mandata una notifica (che apparirà se si sono loggati in modalità grafica);
- la notifica conterrà il messaggio grezzo ottenuto al verificarsi dell'evento, ma questo può essere manipolato in vari modi per ottenere risultati differenti.

Si tratta di una procedura credo standard che può essere adattata a tutti gli altri eventi gestibili da acpid, e soprattutto è indipendente dal desktop usato e dalle librerie grafice, a parte notify-send.
 
Ultima modifica:

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!