Чего теперь вместо hal использовать в собственном маунтманагере? (По мотивам новостей о выкидывании hal'a на свалку истории)

Модератор: Модераторы разделов

Аватара пользователя
AiFiLTr0
Сообщения: 30
ОС: Debian GNU/Linux

Чего теперь вместо hal использовать в собственном маунтманагере?

Сообщение AiFiLTr0 »

Собственно сабж. Некоторое время назад сделал простенький маунтманагер, который автомонтирует носители через hal (по dbus) и запускает для них цепочку баш скриптов. (автоматом фотки перелить, если фотоаппарат, музыку по хитрому алгоритму непрослушанную на плеер залить, и т.п.)
Вот кстати, ссылка на текущую версию : http://necromant.ath.cx/wp/?page_id=70

Ну и так как в новостях не так давно заговорили о том, что hal выкидывают на свалку истории задумался: чего теперь надо вместо него использовать для этой цели. Пока покурил немного документации по девайскиту, но нужного там не нашел.
До этого реализация была примерно такая (питон)
Подрубаемся к сигналам устройство добавлено/удалено

Код: Выделить всё

        self.__hm = self.__bus.get_object('org.freedesktop.Hal','/org/freedesktop/Hal/Manager')
        self.__hm.connect_to_signal('DeviceAdded', self.deviceAdded)
        self.__hm.connect_to_signal('DeviceRemoved', self.deviceRemoved)


Далее по сигнал получаем устройство.

Код: Выделить всё

 def deviceAdded(self, devID):
        device = dbus.Interface(self.__bus.get_object("org.freedesktop.Hal", devID),
                                "org.freedesktop.Hal.Device")


Ну а дальше, находим вольюм, разузнаем о нем все, монтируем и т.п.

Код: Выделить всё

if device.PropertyExists('info.capabilities'):
            isCD = device.QueryCapability('volume.disc')
            #if "volume"
            if device.QueryCapability('volume') and not isCD:
            ...


Как оно теперь должно выглядеть, куда по дбасу стучаться, и где копать доки по теме?. Хотелось бы по подробнее почитать как теперь будет реализовано монтирование сменных носителей без hal'a.
Давайте погадаем!
necromant@Invyl:~$ if [ $RANDOM -lt $RANDOM ]; then echo "женись"; else echo "Лучше не надо"; fi;
http://necromant.embedders.org
Спасибо сказали: