Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.

Novinky: Školení nejen k OS Ubuntu pro širokou veřejnost, více informací zde.

Autor Téma: /etc/udev/rules.d/ -pravidla  (Přečteno 1667 krát)

Drtihlav

  • Návštěvník
  • *
  • Příspěvků: 2
  • Karma: +0/-0
    • Zobrazit profil
/etc/udev/rules.d/ -pravidla
« kdy: 22 Červen 2013, 19:53:48 »
Dobrý den všem! Pokouším se spustit po připojení USB zařízení nějaký program.
Vytvořil jsem tedy v adresáři /etc/udev/rules.d/ soubor 99-usb.rules s co možná nejjednodušším obsahem:

ACTION=="add", SUBSYSTEM=="usb", RUN+="/home/python/skript.sh"

kde skript.sh je spustitelný skript, který vypadá např.:

#!/bin/bash
echo 'Ahoj USB!' >> "/home/uživatel/Plocha/udev.out"
exit

Text "Ahoj USB" je v souboru dvakrát. Že by se skript spustil jak pod uživatelem, tak pod rootem?

Prosím o pomoc, už jsem nad tím strávil příliš času...
« Poslední změna: 23 Červen 2013, 08:58:37 od Drtihlav »

GdH

  • Moderátor
  • Závislák
  • *****
  • Příspěvků: 3045
  • Karma: +484/-17
    • Zobrazit profil
    • GdH-Notes
Re:/etc/udev/rules.d/ -pravidla
« Odpověď #1 kdy: 23 Červen 2013, 11:21:34 »
Kernel při připojení USB zařízení zkrátka vygeneruje více než jednu událost odpovídající podmínce SUBSYSTEM=='usb'. Musíš přidat podmínku další, abys odfiltroval, co nechceš. Koukni se, co za události kernel generuje po připojení USB zařízení, případně na jejich vlastnosti. Viz man udevadm.


Drtihlav

  • Návštěvník
  • *
  • Příspěvků: 2
  • Karma: +0/-0
    • Zobrazit profil
Re:/etc/udev/rules.d/ -pravidla
« Odpověď #2 kdy: 23 Červen 2013, 12:09:11 »
Díky moc!
Přidal jsem podmínku ATTRS{serial}=="....". Rules pak funguje pouze na toto zařízení, nicméně se skript spouští stále 2x.
Ještě zkusím prozkoumat tu Tvou poznámku s kernelem...
« Poslední změna: 23 Červen 2013, 12:10:42 od Drtihlav »