Ich habe Datei geschrieben 90-usb.rules
unter /etc/udev/rules.d/
enthalten:
ACTION=="add", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="2008", RUN+="/bin/mkdir /home/pandya/Desktop/testdir"
ACTION=="remove", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="2008", RUN+="/bin/rmdir /home/pandya/Desktop/testdir"
Wenn ich das Gerät angeschlossen habe, ACTION=="add"
erstellt udev ein Verzeichnis mit RUN+="/bin/mkdir /home/pandya/Desktop/testdir"
(was gut funktioniert)
ABER wenn ich ein ähnliches Gerät vom Stromnetz getrennt ACTION=="remove
habe, entfernt udev das Verzeichnis nicht mitRUN+="/bin/rmdir /home/pandya/Desktop/testdir"
Es gibt kein Problem damit, /bin/rmdir
da ich es auch durch Ersetzen durch ein anderes mkdir
( RUN+="/bin/mkdir /home/pandya/Desktop/testdir2"
) überprüft habe, aber dies funktioniert auch nicht.
Ich möchte wissen, warum die Entfernungsaktion nicht funktioniert. Wie behebe ich das?
ENV
funktioniert. Ich habe versucht,ENV{ID_MODEL}
was gut funktioniert. Vielen Dank (Übrigens, wenn Sie daran interessiert sind, eine Antwort zu posten, dann bitten Sie mich, dieudevadm monitor --property
Ausgabe in Frage hinzuzufügen, oder ich werde mit der Antwort fortfahren?)Antworten:
Gemäß diesem Vorschlag kommentierte : (hier) von @don_crissti I - Lösung bin bietet die für mich gearbeitet.
Das Folgende wird
udevadm monitor --property
beim Entfernen des Geräts ausgegeben (KERNEL-Zeilen werden übersprungen und nur die letzte UDEV-Entfernung wird unten angehängt)Von oben habe ich Environment in meiner udev-Regel für verwendet und jetzt wird die udev-Regel:
ID_MODEL
=Micromax_A74
ACTION=="remove"
Jetzt wird es
testdir
mittels entferntACTION=="remove"
Daher lautet die Lösung: Verwenden Sie eine geeignete Umgebung, z. B.
ID_MODEL
anstelle vonATTR{idVendor}
&ATTR{idProduct}
inACTION=="remove"
quelle