Здається, знайшов рішення (правда, трішки криворуке
):
#!/usr/bin/python2.6
# -*- coding: utf8 -*-
import os, time
os.system('mount /dev/sr0 2> /usr/local/bin/mount_status.txt')
time.sleep(2)
try:
fStatus = open('/usr/local/bin/mount_status.txt', 'r')
status = fStatus.read()
finally:
fStatus.close()
if status != 'mount: блочний пристрій /dev/sr0 захищений від запису, монтується лише для читання':
os.system('umount /dev/sr0')
os.system('mount /dev/sr0')
Обзиваємо це творіння mount_umount.py і в IvmConfigActions.xml прописуємо:
<ivm:Match name="hal.block.device" value="/dev/sr0">
<ivm:Match name="hal.volume.disc.type" value="cd_rom">
<ivm:Option name="mount" value="false" />
<ivm:Option name="exec" value="/usr/local/bin/mount_umount.py" />
</ivm:Match>
</ivm:Match>
Плюс окремо для DVD.
От тільки не подобається мені ця гра з файлами (запис, читання). Наскільки я розумію, простіше і швидше було б в одному баш-файлі запустити команду ’mount’ і перенаправити результат на вхід іншого баш-файлу, який перевірить цей результат. Якщо диск не змонтувався - його розмонтовують і повторно монтують.
P.s. Баш я не знаю взагалі, пітон тільки почав вивчати.