Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936

    Esegurie comandi quando si verificano eventi hardware

    Ho la necessita' di eseguire dei comandi quando si verificano alcuni eventi...
    Ad esempio voglio tirare giu' l'interfaccia di rete wireless e tirare su quella ethernet quando viene attaccato il cavo ethernet (basta un ifdown e un ifup), e fare la cosa opposta quando il cavo ethernet se ne va, poi vorrei sostituire /dev/dsp con /dev/dsp1 quando attacco la scheda audio esterna (e' l'unico modo che ho trovato per usare OSS), inoltre mi garberebbe lanciare camserv in automatico quando attacco la webcam e vedo che piu' passa il tempo e piu' ho bisogno di abbinare dei comandi ad eventi hardware (tutta colpa dell'USB )...

    Ho provato a dare un occhiata ad ACPI, ma non penso possa gestire questi eventi, e sicuramente non ho trovato come farlo.
    Come ultima soluzione mi potrei fare uno script che ogni due secondi lancia il comando dmesg e ne scanna l'output alla ricerca di qualcuno degli eventi a cui sono interessato, ma preferirei qualcosa di piu' pulito e piu' semplice da configurare...

    Avete qualche consiglio?
    Se ci fossero soluzioni distro-dipendenti, sappiate che uso una debian (sid)
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  2. #2
    ciao

    sicuramente ci sono dei metodi più puliti per farlo, ma un metodo molto semplice potrebbe essere fare il parsig di syslogs, o messages e comportarti di conseguenza.

    Oppure potresti farti uno scriptino tipo:

    # dmesg | grep EVENTO_USB | wc -l

    Ovviamente evento_usb dovrebbe essere una stringa che ti identifica in modo univoco il tuo evento

    se quella roba sopra ti ritorna 1 (wc -l è il numero di linee ritornate da grep) allora fai xxx, altrimenti yyy

    e via cosi...
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  3. #3
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Eh, stavo cercando soluzioni che non richiedono di scannare messaggi loggatti (tipo appunto dmesg, syslog, messages etc), perche' cio' richiederebbe troppa "manutenzione" in quanto dovrei scrivermi delle regexp personalizzate per gli eventi a cui sono interessato e potrei doverlo cambiare quando cambiero' kernel o magari anche altre parti del software...
    Per ora sto usando un ciclo bash che ogni due secondi lancia dmesg e parsa le ultime righe alla ricerca degli eventi che mi interessano, ma sta soluzione non mi soddisfa troppo: se nel giro di qualche tempo il kernel si mettera' a loggare in maniera diversa questi eventi, mi rimettero' a cercare una soluzione migliore...
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  4. #4
    Potresti dare un'occhio a HAL e magari scrivere un programmino che si interfacci al suo demone, in modo da intercettare gli eventi che ti interessano...
    Un pò di documentazione qui: http://www.redhat.com/magazine/003jan05/features/hal/ .
    NeapoliX GNU/Linux
    "Alla maggior parte della gente piace leggere la propria scrittura e annusare l'odore dei propri peti." (Auden)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.