Команда eject

Команда eject используется для задействования одноименной утилиты, предназначенной для программного извлечения съемных носителей. В текущее время актуальным типом таких носителей являются оптические диски (CD, DVD, BD). Утилита автоматически осуществляет отмонтирование файловой системы при необходимости. Кроме того, она позволяет управлять некоторыми параметрами приводов для чтения этих носителей, такими, как скорость чтения, функция автоматического извлечения носителя и так далее.

Базовый синтаксис команды выглядит следующим образом:

# eject [параметры] устройство

Команда может использоваться вообще без параметров, причем в этом случае будет осуществляться извлечение носителя из выбранного по умолчанию устройства. Если вы хотите узнать путь к файлу этого устройства, вы можете воспользоваться параметром -d. Для указания устройства, с которым нужно работать, может использоваться либо путь к файлу этого устройства, либо путь к соответствующей точке монтирования файловой системы. Для программного закрытия лотка привода должен использоваться параметр -t. Параметр -x позволяет установить максимальную скорость чтения носителя (например, для установки скорости 1x может использоваться значение 1, для установки скорости 8x - значение 8 и так далее), впрочем, данный параметр крайне редко работает с современными приводами. Для активации и деактивации функции автоматического извлечения носителя может использоваться параметр -a со значениями on или 1 и off или 0 соответственно.

Примеры использования

Программное извлечение носителя и закрытие лотка привода

Для того, чтобы программно извлечь носитель из привода для чтения оптических дисков достаточно использовать команду eject без каких-либо параметров. Если же в компьютере установлено несколько таких приводов, придется узнать путь к файлу нужного устройства. Для этого может использоваться команда mount с фильтром имен устройств (имена файлов устройств приводов для чтения оптических носителей начинаются с префикса sr):

$ mount | grep /dev/sr

В результате будет выведена информация о файлах устройств приводов и точках монтирования файловых систем со вставленных носителей:

/dev/sr0 on /run/media/alexfc/Kali Live type iso9660 (ro,nosuid,nodev,relatime,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2)

Разумеется, этот прием сработает только в случае наличия в приводе носителя с записанной на нем информацией. Для получения списка всех файлов устройств приводов может использоваться следующая команда:

$ ls /dev | grep sr

В этом случае будет выведен список имен устройств без префикса /dev:

sr0

Для извлечения носителя достаточно использовать команду eject, передав ей имя файла устройства:

# eject /dev/sr0

После исполнения команды лоток привода должен быть извлечен. В случае корректного завершения операции утилита не выведет каких-либо сообщений.

Для программного закрытия лотка должен использоваться дополнительный параметр -t:

# eject -t /dev/sr0

В случае корректного завершения операции утилита также не выведет каких-либо сообщений.

Установка максимальной скорости чтения носителя

Для ограничения максимальной скорости чтения носителя достаточно использовать параметр  -x с необходимым значением скорости. Например, для максимального снижения скорости чтения (до 1x) может использоваться следующая команда:

# eject -x 1 /dev/sr0

В случае корректного завершения операции утилита не выведет каких-либо сообщений, впрочем, даже в случае отсутствия сообщений об ошибках скорость чтения может остаться прежней из-за того, что ваш привод не поддерживает передаваемые утилитой команды.