Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Drtihlav 22 Června 2013, 19:53:48

Název: /etc/udev/rules.d/ -pravidla
Přispěvatel: Drtihlav 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...
Název: Re:/etc/udev/rules.d/ -pravidla
Přispěvatel: GdH 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.

Název: Re:/etc/udev/rules.d/ -pravidla
Přispěvatel: Drtihlav 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...