Autore: Fabio Di Matteo
Ultima revisione: 07/09/2008
Ivman è un demone il cui scopo è quello di intercettare gli eventi generati da HAL ed eseguire comandi specifici su dispositivi removibili come pendrive, CD-ROM , webcam , macchine fotografiche etc…
Una guida molto ben fatta su ivman
la si può trovare su : http://www.slacky.eu/wikislack/index.php?title=CD-ROM_auto_mounting_ed_unmounting. Tuttavia non ho trovato in questa guida le istruzioni per aprire un filemanager non appena viene rilevato un dispositivo .
Quando viene rilevato un dispositivo ivman di default lo monta, ma non apre nessuna finestrella del nostro filemanager preferito, di seguito vedremo come rimediare a questa scelta.
Per eseguire un qualsiasi comando sul punto di montaggio appena creato da ivman basta aggiungere <vivm:Option name=“exec” value=“comando '$hal.volume.mount_point$'” />
al file ~.ivman/IvmConfigActions.xml
se si esegue ivman come utente, oppure al file /etc/ivman/IvmConfigActions.xml
se si esegue ivman come root . Dove comando è il nostro comando e
'$hal.volume.mount_point$' è il nostro mount point creato al volo (attenzione agli apici).
<?xml version="1.0" encoding="UTF-8"?> <ivm:ActionsConfig version="0.2" xmlns:ivm="http://www.eikke.com/ivm"> <!-- Read the IvmConfigActions.xml man page for details on how to edit this file. --> <ivm:Option name="checkOnInit" value="false" /> <!-- mount everything we can --> <ivm:Match name="ivm.mountable" value="true"> <ivm:Option name="mount" value="true" /> <!-- la nostra riga --> <vivm:Option name="exec" value="rox '$hal.volume.mount_point$'" /> </ivm:Match> "IvmConfigActions.xml" 67L, 3623C 1,1 Cim
Assicuriamo che ivman non venga eseguito come utente root, quindi avviamo ivman con il seguente comando da utente ivman-launch
, creerà cosi tutti i file di configurazione all'interno della home dell'utente (~.ivman/IvmConfigActions.xml
).
Per creare delle regole attivabili quando viene collegata una classe di dispositivi, per esempio degli adattatori bluetooth e' necessario conoscere hal.info.product
ovvero la variabile di hal in cui viene
inserita la tipologia del dispositivo appena inserito.
E' utile a tal fine il programma grafico hal-device-manager
che fa vedere tutti i dispositivi collegati al proprio elaboratore disposti in un albero.
Di seguito una regola per eseguire il programma gnome-obex-server
non appena viene inserito un adattatore bluetooth. Il programma gnome-obex-server
si occupa del trasferimento di file dal telefono cellulare (o altro) al computer.
IvmConfigActions.xml
... <!-- Lancia lo /usr/bin/gnome-obex-server se viene inserita la penna bluetooth --> <ivm:Match name="hal.info.product" value="USB Wireless Interface"> <ivm:Match name="hal.info.bus" value="usb"> <ivm:Match name="hal.usb.interface.number" value="0"> <ivm:Option name="exec" value="/usr/bin/gnome-obex-server" /> </ivm:Match> </ivm:Match> </ivm:Match> ...
Analogamente a quanto detto prima possiamo interagire anche con i dvd video:
... <ivm:Match name="hal.volume.disc.type" value="dvd_rom"> <ivm:Option name="execdvd" value="vlc dvd:$hal.block.device$" /> </ivm:Match> ...
Dove $hal.block.device$ e' il dispositivo rilevato da ivman.
Ecco invece come interagire con i cdaudio:
... <ivm:Match name="hal.volume.disc.type" value="cd_rom"> <ivm:Match name="hal.volume.disc.has_audio" value="true"> <ivm:Match name="hal.volume.disc.has_data" value="false"> <ivm:Option name="exec" value="vlc cdda:$hal.block.device$ -c" /> </ivm:Match> </ivm:Match> </ivm:Match> ...
Dove $hal.block.device$ e' il dispositivo rilevato da ivman.
Esegue il programma per il cd audio se il cd non contiene dati.
Il nostro wiki installa solamente cookie tecnici necessari al funzionamento della piattaforma "Dokuwiki". Niente analitics, statistiche, tracciamenti o altro.