Монтирование Flash-накопителей с FAT в XFCE, работающем во FreeBSD |
[исправить] |
Инструкция для тех, кому лень набирать "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 с уже смонтированным носителем. Причём файлы с
кириллицей в именах будут корректно отображаться, и пользователь сможет
записывать и удалять их.
|
|
|
|
Раздел: Корень / Пользователю / Файлы, копирование, архивация |
1, iZEN (ok), 19:55, 23/04/2010 [ответить]
| +/– |
> опции монтирования по-умолчанию в файле /usr/local/etc/xdg/xfce4/mount.rc
Вот оно чё! А я всё не мог понять, что же мешает HAL/PolicyKit брать опции монтирования из /etc/fstab.
СПАСИБО!
| |
2, iZEN (ok), 13:37, 26/04/2010 [ответить]
| +/– |
Кстати, политику монтирования (PolicyKit.conf) лучше определять для групп, а не для конечных пользователей.
| |
3, iZEN (ok), 21:41, 26/04/2010 [ответить]
| +/– |
Вот рабочие конфиги.
/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
...
| |
4, vitek16 (ok), 09:41, 04/06/2010 [ответить]
| +/– |
А для KDE это реализуемо?
То есть если сделать файл /usr/local/etc/xdg/kde/mount.rc, будет ли так работать?
| |
|