Инструкция для тех, кому лень набирать "sudo mount_msdosfs /dev/da0s1 ..." и хочется чтобы при подключении USB Flash на рабочем столе XFCE для монтирования автоматически появлялась иконка, корректно работающая с русскими именами файлов и не требующая для своей работы повышенных прав доступа.1. Через PolicyKit настраиваем разрешение на монтирование для пользователя homeuser, под котором будет осуществлен вход в систему. В /usr/local/etc/PolicyKit/PolicyKit.conf добавляем новую секцию:
<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>2. Настраиваем опции монтирования по по-умолчанию в файле /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 с уже смонтированным содержимым. Причём, файлы с кириллицей в именах будут корректно отображаться и пользователь сможет записывать и удалять их.
URL: http://bu7cher.blogspot.com/2010/04/fat-xfce.html
Обсуждается: http://www.opennet.me/tips/info/2351.shtml
> опции монтирования по-умолчанию в файле /usr/local/etc/xdg/xfce4/mount.rcВот оно чё! А я всё не мог понять, что же мешает HAL/PolicyKit брать опции монтирования из /etc/fstab.
СПАСИБО!
Кстати, политику монтирования (PolicyKit.conf) лучше определять для групп, а не для конечных пользователей.
Вот рабочие конфиги./usr/local/etc/PolicyKit/PolicyKit.conf:
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->
<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd...<!-- See the manual page PolicyKit.conf(5) for file format -->
<config version="0.1">
<define_admin_auth group="operator" />
<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 action="org.freedesktop.hal.power-management.reboot">
<return result="yes" />
</match>
<match action="org.freedesktop.hal.power-management.shutdown">
<return result="yes" />
</match>
<match action="org.freedesktop.hal.power-management.hibernate">
<return result="yes" />
</match>
<match action="org.freedesktop.hal.power-management.suspend">
<return result="yes" />
</match>
</config>
/usr/local/etc/xdg/xfce4/mount.rc:
...
[vfat]
uid=<auto>
shortname=winnt
# FreeBSD specific option
longnames=true
-L=ru_RU.UTF-8
-D=CP866
-m=0664
-M=0775
#пользователя не указываем
.../etc/group:
# $FreeBSD: src/etc/group,v 1.35.10.1 2009/08/03 08:13:06 kensmith Exp $
#
wheel:*:0:root,iZEN
daemon:*:1:
kmem:*:2:
sys:*:3:
tty:*:4:
operator:*:5:root,iZEN
...
А для KDE это реализуемо?
То есть если сделать файл /usr/local/etc/xdg/kde/mount.rc, будет ли так работать?