If I remove the "--lock-media" option I get a strange result. The button works again on unmounted media. But there's no event. With a mounted medium the button doesn't eject the CD, yet an event is generated. It seems like this interface is flawed, if you want consistent notification about events for a GUI. linux-0dmf:/usr/lib/udev/rules.d # udevadm monitor -k -p monitor will print the received events for: KERNEL - the kernel uevent KERNEL[34242.269050] change /devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0 (block) ACTION=change DEVNAME=/dev/sr0 DEVPATH=/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0 DEVTYPE=disk DISK_MEDIA_CHANGE=1 MAJOR=11 MINOR=0 SEQNUM=4252 SUBSYSTEM=block KERNEL[34272.733186] change /devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0 (block) ACTION=change DEVNAME=/dev/sr0 DEVPATH=/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0 DEVTYPE=disk DISK_MEDIA_CHANGE=1 MAJOR=11 MINOR=0 SEQNUM=4253 SUBSYSTEM=block ^Clinux-0dmf:/usr/lib/udev/rules.d # mount /dev/sr0 /mnt mount: /dev/sr0 is write-protected, mounting read-only linux-0dmf:/usr/lib/udev/rules.d # udevadm monitor -k -p monitor will print the received events for: KERNEL - the kernel uevent KERNEL[34312.669165] change /devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0 (block) ACTION=change DEVNAME=/dev/sr0 DEVPATH=/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0 DEVTYPE=disk DISK_EJECT_REQUEST=1 MAJOR=11 MINOR=0 SEQNUM=4255 SUBSYSTEM=block