CD/DVD eject
В linux есть две утилиты eject для открытия/открытия лотка CD/DVD и udevil - для монтирования/размонтирования подключаемых дисков. Решил две эти утилиты объеденить в одну:
UPD: оператор sdparm -C unlock /dev/sr0 введён для предотвращения ошибки "eject: unable to eject, last error: Inappropriate ioctl for device" на некоторых ОС, вроде Slackware
Скрипт сам проверяет пустой-ли привод: если да - открывает, если нет, и не примонтирован - монтирует, иначе - размонтирует и открывает. Скрипт можно разместить в /usr/local/bin/j и разрешить запуск для пользователя
#!/bin/bash
insertdisk=`udisksctl info -b /dev/sr0 | grep 'Size' | gawk '{ print $2 }'`
echo $insertdisk
echo $1
if [[ $insertdisk -ne 0 ]]
then
if [ -z "$1" ] ;
then
mountingdisk=`mount | grep sr0`
echo "mountingdisk="$mountingdisk
if [ -z "$mountingdisk" ] ; then udevil mount /dev/sr0 ; else udevil umount /dev/sr0 ; /usr/sbin/sdparm -C unlock /dev/sr0 ; eject ; exit 0 ; fi ;
else
case $1 in
j|J|о|О) udevil umount /dev/sr0 ; echo "Извлекаем..." ; /usr/sbin/sdparm -C unlock /dev/sr0 ; eject ; exit 0 ;;
*) udevil umount /dev/sr0 ; echo "Размонтируем" ; /usr/sbin/sdparm -C unlock /dev/sr0 ; exit 0 ;;
esac
fi
else
eject -T
fi
chown root:storage /usr/local/bin/j && chmod a+x /usr/local/binТребуются предустановленные udiscs2, udevil
UPD: оператор sdparm -C unlock /dev/sr0 введён для предотвращения ошибки "eject: unable to eject, last error: Inappropriate ioctl for device" на некоторых ОС, вроде Slackware
Комментарии: 0:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.
Подпишитесь на каналы Комментарии к сообщению [Atom]
<< Главная страница