среда, 14 апреля 2010 г.

Монтирование флэшек с FAT в XFCE

Уже довольно давно пользуюсь XFCE4 в качестве DE. XFCE и Xorg установлены с поддержкой HAL. У меня лично монтирование флешек во FreeBSD проблем не вызывает - "sudo mount_msdosfs /dev/da0s1 ..." и делов-то. Но настраивая компьютер родителям, подумал что им, далёким от IT людям, такой способ не очень подходит. В принципе, при подключении флэшки на рабочем столе XFCE появляется иконка и монтирование выполняется вполне автоматически, только вот проблемка - файлы с кириллицей в именах в файловом менеджере не видно. Да ещё эти права доступа...

И вот, решил "доковырять" то, что давно уже нужно было сделать - монтирование с нужными опциями. Через PolicyKit настроил разрешения на монтирование для пользователя homeuser, под котором будут заходить в систему родители:
<match user="homeuser">
       <match action="org.freedesktop.hal.storage.mount-removable">
           <return result="yes"/>

       </match>
       <match action="org.freedesktop.hal.storage.mount-fixed">
           <return result="yes"/>
       </match>
       <match action="org.freedesktop.hal.storage.eject">
           <return result="yes"/>

       </match>
       <match action="org.freedesktop.hal.storage.unmount-others">
           <return result="yes"/>
       </match>
   </match>
После этого занялся поиском того, как настроить опции "по-умолчанию" для монтируемых устройств. Сначала я думал сделать это внутри политик HAL, но потом случайно наткнулся на способ, который предоставляет XFCE.

В файле /usr/local/etc/xdg/xfce4/mount.rc можно выбрать значения опций по-умолчанию для монтирования различных типов файловых систем. Вот такие опции выбрал я:
[vfat]
# FreeBSD specific option
longnames=true
-L=ru_RU.UTF-8
-D=CP866
-m=0664
-M=0775
-u=homeuser
Список возможных опций можно посмотреть в выводе lshal после подключения флэшки. Искать нужно строку volume.mount.valid_options. В ней содержатся разрешённые HAL'ом опции, которые можно передать ему для монтирования. Их же можно найти в файле /usr/local/share/hal/fdi/policy/10osvendor/20-storage-methods.fdi. По-умолчанию для FreeBSD эти опции разрешены и соответствуют перечисленным в мануале mount_msdosfs(8).

В результате, при подключении флэшки на рабочем столе появляется иконка диска, на которой можно  вызвать команду "Подключить том", либо просто два раза кликнуть и откроется Thunar с уже смонтированным содержимым. Причём, файлы с кириллицей в именах будут корректно отображаться и пользователь сможет записывать и удалять их.

1 комментарий:

  1. Почему-то не получается. Монтируется, как прежде с вопросиками.
    FreeBSD 9.1 xfce-4.10

    ОтветитьУдалить