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

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

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

Drtihlav

  • Návštěvník
  • Příspěvků: 2
/etc/udev/rules.d/ -pravidla
« kdy: 22 Června 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 Června 2013, 08:58:37 od Drtihlav »

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:/etc/udev/rules.d/ -pravidla
« Odpověď #1 kdy: 23 Června 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
Re:/etc/udev/rules.d/ -pravidla
« Odpověď #2 kdy: 23 Června 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 Června 2013, 12:10:42 od Drtihlav »

 

Provoz zaštiťuje spolek OpenAlt.