I'm trying to launch a script when a LUKS drive is inserted. So I setup a udev rule:KERNEL==sd*3, ACTION==add, ATTRS{serial}==XXX, ATTRS{manufacturer}==XXX, RUN+=/usr/local/bin/syncer-trigger /dev/%kThe script runs as normal user and calls xce4-terminal internally. Then the terminal emulator calls another script to decrypt the drive and mount it (with udisksctl command).But udisksctl stuck, it seems to be waiting for udev to finish setting up the LUKS drive (The corresponding char device doesn't exist at this moment)So, it formed a classic dead lock. Now how do I run a command *AFTER* the drive is settled?P.S If I run xfce4-terminal in background (with nohup) and sleeps in the other script, udev would kill the xfce4-terminal window directlyEDITI tried dbus-triggerd:./dbus-triggerd type=signal,interface=org.gtk.Private.RemoteVolumeMonitor -v --shell ./dump.shIn dump.sh it just echo $@, I can see output from dbus-triggerd, but I'm seeing empty arguments hereThe interface is correct, I can confirm that withdbus-monitor interface=org.gtk.Private.RemoteVolumeMonitor
Can't run put udisks commands in udev scripts
udev;udisks