Monday, May 6, 2024
 Popular · Latest · Hot · Upcoming
9
rated 0 times [  9] [ 0]  / answers: 1 / hits: 30981  / 3 Years ago, fri, october 22, 2021, 7:30:42

I would like to learn udev rules. Here is what I do:



victor@X301A1:~$ ls /etc/udev/rules.d/
70-persistent-cd.rules 70-persistent-net.rules README


Then:



victor@X301A1:~$ sudo gedit /etc/udev/rules.d/01-my-first-udev.rules


My rule:



ACTION=="add", RUN+="echo HELLO ! > /home/victor/udev_test_log.txt"


After saving the file:



 sudo udevadm control --reload-rules


I expected that connecting an USB device would write in the file but nothing happens.
Where am I wrong?


More From » udev

 Answers
6

In RUN you must to put a path to a script. See man udev:




Add a program to the list of programs to be executed for a specific
device. This can only be used for very short running tasks. Running
an event process for a long period of time may block all further
events for this or a dependent device. Long running tasks need to
be immediately detached from the event process itself.




For examle, create a new script, let say hello.sh in /lib/udev with sudo -H gedit /lib/udev/hello.sh and put next lines inside:



#!/bin/bash

echo HELLO ! > /home/<username>/udev_test_log.txt


Change <username> with your user name. Save the file, close it and make it executable with:



chmod +x /lib/udev/hello.sh


Add a new rule in your /etc/udev/rules.d/01-my-first-udev.rules file like this:



ACTION=="add", RUN+="/lib/udev/hello.sh"

[#31135] Friday, October 22, 2021, 3 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
doredtness

Total Points: 153
Total Questions: 113
Total Answers: 106

Location: South Georgia
Member since Fri, Nov 13, 2020
4 Years ago
;