Barra laterale

sistema:ivman_apertura_filemanager_in_automatico

Ivman , comandi personalizzati

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 .

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).

Come risulta IvmConfigActions.xml dopo la modifica

<?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

Avviare ivman da utente

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 ).

Interagire con il bluetooth

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>
 
...

Interagire con DVD video

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.

Interagire con Cd audio

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.


sistema/ivman_apertura_filemanager_in_automatico.txt · Ultima modifica: 18/04/2018 - 15:50 (modifica esterna)