Автор Гілка: Коала не розмонтовує CD/DVD диски  (Прочитано 1053 раз)

Відсутній lenier

  • Дописувач
  • **
  • дописів: 96
  • Карма: +0/-0
Всім моє шанування.

Є Убунту 9.10, на якій до сьогоднішнього дня не працювала кнопка (апаратна) DVD-приводу (eject) - не віддавала диск після його монтування. Сьогодні після встановлення ivman вона нарешті запрацювала, однак після натискання кнопки приводу і виїзду диску система не розмонтовує диск (залишається якийсь його привид  [smiley=pain17.gif] ). При вставленні іншого диску він не монтується  >:( .

Ґуґль майже нічого не каже крім того, що цей глюк стрічається тільки на Убунті 9.10.

Підкажіть, де шукати рішення. Дякую.

Відсутній case0lc

  • Графоман
  • ****
  • дописів: 310
  • Карма: +0/-0
Re: Коала не розмонтовує CD/DVD диски
« Відповідей #1 : 2010-02-14 17:05:44 »
ivman там не потрібен. Якщо не працює "апаратна кнопка", то просто використовуйте "програмну кнопку" - команду eject
Цитата
після натискання кнопки приводу і виїзду диску система не розмонтовує диск (залишається якийсь його привид  Усмішка ). При вставленні іншого диску він не монтується
Дійсно, є така проблема. В такому разі просто розмонтовуйте диск вручну через nautilus, потім вставляєте новий диск

Відсутній lenier

  • Дописувач
  • **
  • дописів: 96
  • Карма: +0/-0
Re: Коала не розмонтовує CD/DVD диски
« Відповідей #2 : 2010-02-14 18:21:07 »
Здається, знайшов рішення (правда, трішки криворуке  :D ):

#!/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. Баш я не знаю взагалі, пітон тільки почав вивчати.