LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 640|回复: 2

[已解决]利用udev自动挂在usb并打开rox,rox没有成功打开

[复制链接]
发表于 2009-10-31 15:02:46 | 显示全部楼层 |阅读模式
KERNEL=="sd[b-z]", NAME="%k", SYMLINK+="usb%m", GROUP="users", OPTIONS="last_rule"
ACTION=="add", KERNEL=="sd[b-z][0-9]", SYMLINK+="usb%n", GROUP="users", NAME="%k"
ACTION=="add", KERNEL=="sd[b-z][0-9]", RUN+="/bin/mkdir -p /mnt/usb%n"
ACTION=="add", KERNEL=="sd[b-z][0-9]", PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="vfat", RUN+="/bin/mount -t vfat -o rw,user,noauto,sync,dirsync,noexec,nodev,noatime,dmask=000,fmask=111 /dev/%k /mnt/usb%n"
ACTION=="add", KERNEL=="sd[b-z][0-9]", RUN+="/bin/mount -t ntfs-3g -o rw,noauto,sync,dirsync,noexec,nodev,user,noatime,dmask=000,fmask=111 /dev/%k /mnt/usb%n"
ACTION=="add", KERNEL=="sd[b-z][0-9]", RUN+="/usr/bin/rox /mnt/usb%n", OPTIONS="last_rule"
ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/umount -l /mnt/usb%n"
ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/rmdir /mnt/usb%n", OPTIONS="last_rule"


以上是udev的设置,倒数第三行用来执行rox。现在usb可以正常挂在,但rox并没有被执行,请问一下是怎么回事,谢谢
发表于 2009-10-31 15:34:57 | 显示全部楼层
把下面的内容存成一个脚本(注意把your_user_name改为你的用户名,因为udev的RUN是以root权限执行的,所以需要用su切换到你当前用户来执行),加上可执行权限,比如存为/usr/bin/run-rox,然后把RUN+="/usr/bin/rox /mnt/usb%n“改为
RUN+="/usr/bin/run-rox /mnt/usb%n"

#!/bin/bash
export DISPLAY=:0.0
xhost +LOCAL:
su - your_user_name -c "/usr/bin/rox $@"
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-31 15:40:12 | 显示全部楼层
很好用,非常感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表