Если инфорация оказалась интересна и/или полезна, не побрезгуйте, оставьте комментарий ;)

суббота, 19 сентября 2009 г.

Ошибка автомонтирования ntfs-дисков через HAL

После установки Archlinux не работало автомонтирование ntfs-дисков.
Инструкции из официального wiki не помогали. Под обычным пользователем получал сообщение об ошибке, сводящиеся к "Доступ запрещен"
"PermissionDeniedByPolicy mount-removable no"
"PermissionDeniedByPolicy mount-removable-extra-options no"
"org.freedesktop.hal.storage.mount-removable no <-- (action, result)"
"org.freedesktop.hal.storage.mount-removable-extra-options no <-- (action, result)"
Как уже сказал, предложения по решению проблемы из wiki не помогли. Но помогло решение, на которое есть ссылка в этом wiki.
Далее предстален перевод.

Создаем файл /etc/Policykit/Policykit.conf следующего содержания:
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->
<config version="0.1">
      <match user="$storage_users">
               <match action="org.freedesktop.hal.storage.*">
                       <return result="yes"/>
               </match>
               <match action="hal-storage-mount-fixed-extra-options">
                       <return result="yes" />
               </match>
               <match action="hal-storage-mount-removable-extra-options">
                       <return result="yes" />
               </match>
       </match>
    <match user="$power_users">
        <match action="org.freedesktop.hal.power-management.shutdown">
            <return result="yes"/>
        </match>
        <match action="org.freedesktop.hal.power-management.reboot">
            <return result="yes"/>
        </match>
    </match>
</config>

Создаем скрипт /etc/rc.d/polkitparser

#!/bin/bash
# general config
. /etc/rc.conf
. /etc/rc.d/functions
stat_busy "Parsing groups for policykit handling"
export storage_users=$(cat /etc/group | grep -i storage | cut -d ':' -f 4 | sed 's/,/|/')
export power_users=$(cat /etc/group | grep -i power | cut -d ':' -f 4 | sed 's/,/|/')
stat_done
exit 0

Делаем его исполняемым:
chmod +x /etc/rc.d/polkitparser
В файле /etc/rc.conf в список демонов (переменная DAEMONS) добавляем скрипт перед hal.
В файл /etc/pam.d/login добавляем строку:
session optional ck_connector.so
В файле ~/.xinitrc надо закомментировать текущую строку запуска менеджера окон (скорее всего единственная раскомментированная строка) и добавить следующую:

exec ck-launch-session YOUR-WM 
где YOUR-WM - скрипт запуска вашего менеджера окон (скопируйте название из первоначальной строки запуска). 
 
У меня сее решение сработало

Комментариев нет: