From man udev
Это можно использовать только для очень коротких задач переднего плана. Запуск процесс события в течение длительного периода времени может заблокировать все дальнейшие события для этого или зависимого устройства.
Я делаю так:
KERNEL=="sd[a-z]", SUBSYSTEM=="block", ATTR{ro}=="0", ATTR{removable}=="1", SUBSYSTEMS=="usb", DRIVERS=="usb-storage", SYMLINK+="usb_%E{ID_VENDOR}_%E{ID_MODEL}_%E{ID_SERIAL_SHORT}"
ACTION=="add", KERNEL=="sd[a-z]", SUBSYSTEM=="block", ATTR{ro}=="0", ATTR{removable}=="1", SUBSYSTEMS=="usb", DRIVERS=="usb-storage", RUN+="/usr/bin/setsid /usr/bin/nautilus"
Setsid делает запуск программы в новой сессии
Я запускаю X как: root 937 1.4 1.3 179992 26328 tty2 S через xinit /root/.xinitrc