# udev-Regel wird mehrfach ausgeführt

## Martini

Hallo 

Ich habe mich mit udev noch nicht richtig beschäftigt weil bisher alles bestens funktioniert hat und es auch noch tut.

Allerdings wollte ich jetzt mal ein bisschen Automatisierung an meinem Server einbringen und eine udev-rule basteln.

Das geht auch mit der selber erstellten 10-local.rules, aber das dahinterliegende script wird scheinbar mehrfach ausgeführt.

```
server ~ # cat /etc/udev/rules.d/10-local.rules

BUS=="usb", SYSFS{serial}=="ABCD1223344556", RUN+="/usr/local/bin/camtest"

```

```
server ~ # cat /usr/local/bin/camtest

#!/bin/sh

echo "V550 erkannt" > /tmp/camtest

```

```

server ~ # cat /tmp/camtest

V550 erkannt

V550 erkannt

V550 erkannt

V550 erkannt

V550 erkannt

V550 erkannt

```

Hintergrund: Ich will ein paar Sachen, wie Bilder von Cam downloaden und einsortieren, automatisieren, wenn ich die Kamera  dranstecke. Die Kamera kann nur ptp, also kein mass-storage. Das ist aber erstmal egal.

Mich interessiert nur erstmal, warum die udev-Regel mehrfach ausgeführt wird.

Kennt jemand das Problem oder hat jemand einen Tip?

Danke

Martini

----------

## Finswimmer

echo "V550 erkannt" > /tmp/camtest 

cat /tmp/camtest 

V550 erkannt 

V550 erkannt 

V550 erkannt 

V550 erkannt 

V550 erkannt 

V550 erkannt 

Wie geht das?

> überschreibt den Inhalt der Datei und hängt ihn nicht hintendran.

Kann es evtl sein, dass die Regel auf mehrere Ports zutrifft?

Tobi

----------

## Martini

Hi

Ja ist schon klar: > überschreibt, >> hängt an.

Wenn ich das File leer mache siehts genau so aus. Das ist ja das, was mir nicht ganz klar ist.

Die Regel wird mehrfach ausgeführt.

Mit den Ports guck ich mal heute Abend an. Weiß nur noch nicht wie.. naja mal sehen.

edit

ach Quatsch: Ich nehme natürlich ">>" um ins File zu schreiben (anzuhängen).

Sorry... Verwirrung. Aber ich lösche den Inhalt vor dem Anstecken der Kamera. Logisch.

...und dann siehts halt so wie oben aus.

/edit

Danke erstmal

Martini

----------

## Martini

Moin

Habe noch mal rum probiert mit VendorId und Konsorten. Egal ob USB-Stick oder Kamera, udev führt das script 5-6-7 mal aus... warum?

Leider kann ich das so nicht gebrauchen und muß wohl erstmal wieder auf ne andere alte Methode ausweichen.

Schade, gerade das udev-zeug mit automatischer Programm-Ausführung hat mich gereizt.

Ich probiere später noch mal weiter, evtl liegts ja auch an der udev-version.

Zeit ist knapp...

Danke trotzdem und Gruß

Martini

----------

## Martini

... was mir gerade noch einfällt:

ich brauch doch kein "hal" oder "dbus" dazu, oder? ....oooodeeerr???

----------

## Max Steel

das bruachst du soweit ich weiß (korrigiert mich wenns falsch ist) dazu damit du im KDE oder Gnome oder ähnliches die Meldung bekommst das gerade eben ein Gerät angeschlossen wurde.

----------

## Martini

Hallo

Danke@max

Das hat mir keine Ruhe gelassen. Ich habs jetzt hinbekommen mit folgender Regel:

```

cat /etc/udev/rules.d/10-local.rules

# detect digicam if plugged in

KERNEL=="1-2", SUBSYSTEM=="usb", ATTR{idVendor}=="040a", ATTR{idProduct}=="058f", PROGRAM="/usr/local/bin/camtest"

```

script wird jetzt nur noch einmal ausgeführt. Jetzt kann ich ein script zum Bilderdownload schreiben.

Danke euch, und Frohes Fest wünscht

Martini

----------

