О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

06.11.2008

Наброски к книге. 2. Настраиваем HAL

Кроме описанного ранее, есть и более радикальный метод настройки монтирования сменных носителей от лица пользователя -- использование механизма HAL (Hardware Abstraction Level). Правда, работает он только в Иксах, насколько мне известно, точно -- в интегрированных средах KDE, GNOME и Xfce, за менеджеры окон не скажу по незнанию; хотя, судя по тому, что порт hal идёт в качестве зависимости X-сервера, вероятно, и в некоторых из них этот механизм также поддерживается.

Итак, для начала необходимо установить соответствующий порт -- /usr/ports/sysutils/hal. Правда, как только что было сказано, при установке Иксов и какой-либо из интегрированных сред он уже будет инсталлирован как зависимость, причём вместе с графическим фронт-эндом к нему (в случае с GNOME и Xfce это будет порт /usr/ports/sysutils/gnome-mount).

Теперь -- собственно настройка. Она проста как грабли: отправляемся в каталог /usr/local/etc/PolicyKit и обнаруживаем там файл PolicyKit.conf. По умолчанию содержимое его следующее:
<config version="0.1">
<match user="root">
<return result="yes"/>
</match>
<define_admin_auth group="wheel"/>
</config>
Что предваряется следующей фразой:
<!-- See the manual page PolicyKit.conf(5) for file format -->
Руководствуясь man (5) PolicyKit.conf, между
    <define_admin_auth group="wheel"/>
и
</config>
дописываем следующие строки:
    <match action="org.freedesktop.hal.storage.mount-removable">
<return result="yes"/>
</match>
<match action="org.freedesktop.hal.storage.mount-fixed">
<return result="yes"/>
</match>
разрешающие членам группы wheel монтирование сменных и внутренних носителей, соответственно.

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