From man udev
This can only be used for very short-running foreground tasks. Running an event process for a long period of time may block all further events for this or a dependent device.
I'm doing this:
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 does run a program in a new session
I am running X as: root 937 1.4 1.3 179992 26328 tty2 S via xinit /root/.xinitrc