2008年10月23日 星期四

一個udev rule 例子

假設在/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

沒有留言: