假設在/etc/udev/rules.d/50-udev.rules中有一條rule
BUS=="usb", KERNEL=="sd*[!0-9]",ACTION=="add",NAME="%k", MODE="0660", GROUP="floppy", SYMLINK+="disks/Removable/%k", RUN+="/home/user/trigger_prog.sh %k"
當USB storage碟插入電腦中,則該條rule會被啟動,執行程式"/home/user/trigger_prog.sh %k"
%k可能是sdb, sdc, sdd,....
trigger_prog.sh 的內容:
#!/bin/sh
#此行依定要寫不然X window progarm不會被啟動
export DISPLAY=:0.0
test -f /home/user/.bash_profile && source /home/user/.bash_profile
if [ "$1" = "sdb" ]; then
#如此寫才會以一般使用者"user"去執行使用者程式
nice --adjustment=5 /bin/su user -c /usr/bin/pcmanfm &
fi
沒有留言:
張貼留言