
Мне было предложено написать скрипт, который закроет мой unbutu DVD-привод при его открытии, и чтобы закрыть его, я просто использую команду
eject -t
но я не могу найти никакой документации о том, как определить момент открытия привода....
Можно ли как-то определить, когда открывается лоток DVD-привода в Ubuntu?
решение1
Решение в основном содержитсяздесь. В/usr/include/linux/cdrom.hвы найдете всеioctl()для компакт-диска,
#define CDROM_DRIVE_STATUS 0x5326 /* Get tray position, etc. */
Фрагмент кода, возвращающий это для вас:
int slot;
ioctl(fd, CDROM_DRIVE_STATUS, slot);
switch(slot) {
case CDS_NO_INFO: ... break;
case CDS_NO_DISC: ... break;
case CDS_TRAY_OPEN: ... break;
case CDS_DRIVE_NOT_READY: ... break;
case CDS_DISC_OK: ... break;
default: /* something else, whichever you like */
}
Ключевой момент — это, конечно, CDS_TRAY_OPEN.