[РЕШЕНО] [Авто]монтирование флэшки в Gnome, права доступа к файлам на vfat

Совершенно задолбала "исполняемость" файлов на примонтированной флэшке. Куда надо вписать fmask=111, чтобы оно заработало? Стоит Gnome, я его и поставил-то ради gnome-volume-manager, в котором вписал нужный ключ через редактор конфигурации. Однако, теперь он игнорируется, т.к., gnome-volume-manager пользуется hal, а новый Gnome - udisks. Вот вывод mount про флэшку:

/dev/sdf1 on /media/shuflash type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=100,shortname=mixed,dmask=0077,utf8=1,flush)

Неужели на текущий момент поставить свои fmask/dmask можно только в XFCE?

Для vfat поставьте в опциях

Для vfat поставьте в опциях монтирования showexec. Правда, для .exe, .com и .bat executable bit останется.

- - -

В том то и весь вопрос - куда вписывать?

Судя по всему нужно патчить:
https://bugs.freedesktop.org/show_bug.cgi?id=28075

Я конечно не программист, но по-моему, запихивать опции монтирования прямо в код, без возможности управления - это плохой показатель. Или я что-то не понимаю?

Вот-вот... Причём, насколько

Вот-вот...
Причём, насколько я понял, с Кедами те же грабли, хоть там и через HAL. Нигде в сети не смог найти решения.
Т.е., надо переписывать ebuild udisks и где-то там задействовать патч? Похоже, проще даунгрейдить Гном до версии, где ещё используется HAL и => gnome-volume-manager будет работать. Для меня showexec нафиг не нужен, вирусы что ли с флэшки запускать :-) ? А в ntfs-3g опции монтирования прекрасно настраиваются по Арчевской вики.

С кедами насколько я понял,

С кедами насколько я понял, нужно под каждое конкретное устройство настройки делать, во всяком случае, так пишут в приведенной в прошлом моем посте статье. Кстати, я невнимательно читал, если hal не используется, то изложенный способ не подойдет, прошу прощения за неактуальную информацию, поспешил.

- - -

скопировать udisks в оверлей и вписать одну строчку в ebuild гораздо проще, нежели доунгрейдить в течении N часов Gnome, а потом еще вылавливать нестыковки. IMHO

Вот, попытался я добавить

Вот, попытался я добавить патч в ebuild. Не патчится! Я вообще в этом плохо понимаю, просто создал локальный оверлей, как в вики написано, скопировал туда штатный udisk и в директорию files, где уже, по счастью, лежал один патч вставил содержимое патча в виде файла udisks-1.0.1-vfat-showexec.patch и прописал его рядышком в ebuild. Далее по вики, вроде всё нормально.
Но, когда попытался поставить, получил такое:

Здесь была огромная простыня с реджектами от патчей, более подходящаяя для wgetpaste. Slepnoga

Могу, если надо, выложить остальные выводы. Но, по-моему, патч не годится, может, как-то не так я его сохранил.

- - -

делов-то на тридцать секунд (-;
- создаем оверлей и переходим в каталог;
- ebuild udisks-1.0.1-r2.ebuild unpack
- cd /var/tmp/portage/sys-fs/udisks-1.0.1-r2/work/udisks-1.0.1
- cp src/device.c src/device.c.orig;
- $EDITOR src/device.c - находим нужные строки и правим;
- diff -U0 src/device.c.orig src/device.c > LAYMANPATH//sys-fs/udisks/files/udisks-1.0.1-vfat-showexec.patch
- cd ../ ; $EDITOR udisks-1.0.1-r2.ebuild
- добавляем в функцию: src_prepare()
epatch "${FILESDIR}"/${P}-vfat-showexec.patch

--- src/device.c.orig   2010-09-28 21:42:10.000000000 +0400                                                                                                            
+++ src/device.c        2010-09-28 21:43:07.000000000 +0400                                                                                                            
@@ -5851,2 +5851,2 @@                                                                                                                                                  
-static const char *vfat_defaults[] = { "uid=", "gid=", "shortname=mixed", "dmask=0077", "utf8=1", NULL };                                                             
-static const char *vfat_allow[] = { "flush", "utf8=", "shortname=", "umask=", "dmask=", "fmask=", "codepage=", "iocharset=", "usefree", NULL };                       
+static const char *vfat_defaults[] = { "uid=", "gid=", "shortname=mixed", "dmask=0077", "utf8=1", "showexec", NULL };                                                 
+static const char *vfat_allow[] = { "flush", "utf8=", "shortname=", "umask=", "dmask=", "fmask=", "codepage=", "iocharset=", "usefree", "showexec", NULL };  

Спасибо!!! Гениально,

Спасибо!!! Гениально, обязательно попробую после работы!
inspirra, а где ты обрёл эти сакральные знания? Это, конечно, оффтоп, но есть ли кроме небогатых вик и небольшого числа статей на gentoo.org инфа с примерами? Честно пытаюсь курить маны, но когда на английском о совсем незнакомых вещах - почти не воспринимаю. Лучше вего по-русски, но когда по-английски разжёвано с примерами - тоже хорошо.

Глупый вопрос, наверное,

Глупый вопрос, наверное, но:

inspirra написал(а):
- diff -U0 src/device.c.orig src/device.c > LAYMANPATH//sys-fs/udisks/files/udisks-1.0.1-vfat-showexec.patch

Что здесь LAYMANPATH? echo $LAYMANPATH ничего не показывает, в выводе emerge --info тоже её нет. Или это просто где оверлей живёт (у меня по умолчанию /usr/local/portage)?

- - -

Это все условно. Я не копировал в точноси последовательность, а так, на вскидку написал.
Путь до вашего овереля может быть примерно таким: /var/lib/layman/мойоверлей/sys-fs/udisks/files/udisks-1.0.1-vfat-showexec.patch
Если Вы путь не переназначали.

"cd ../" заменить на: cd /путь/к/портежу

Вот что я нашел для GNOME

Вот что я нашел для GNOME (вот здесь):

In order to adjust the default mount options, GNOME users should change the /system/storage/default_options/[fs_type]/mount_options GConf key either using GConf Editor-2.30.0, or from the command line, as demonstrated in the following example:

gconftool-2 --type list --list-type=string \
    --set /system/storage/default_options/vfat/mount_options \
    "[shortname=mixed,uid=,usefree,iocharset=koi8-r,codepage=866]"

See more details in the gnome-mount(1) manual page.

- - -

Это не прокатывает с udisks

Это я уже делал...

Как можно заметить из названия приведённой статьи, всё вышеописанное относится к hal-у и старому Gnome. Я надеялся, что раз уж gnome-volume-manager лежит в основном портежном дереве, может, он будет работать и перехватит руль на себя. Облом-с! Либо откатывать Гнома к версии до udisks (2.26), либо патчить этот udisks вышепредложенным патчем, правда, довольно смутно представляю себе, как именно.

Да я сам заметил, несколько

Да я сам заметил, несколько позднее. Я сам виноват, надо было внимательно читать пост. Еще раз прошу прощения за неактуальную информацию.
Вот еще что вычитал... Хотя, IMHO, это очень некрасиво. Можно создать shell-скрипт /sbin/mount.vfat, что-то типа такого

#!/bin/bash
eval mount -t vfat $@,(ваши_опции_монтирования)

В Gnome есть редактор

В Gnome есть редактор конфигурации (не помню, как называется), вызывается из меню Программы --> Системные (чета ката так). По интерфейсу он сильно напоминает редактор реестра в ЗлоОС )) так вот там в каком то из разделов можно указать опции для носителей, монтируемых из gnome. Нужные параметры легко найти поиском - он там есть - а искать, соответственно, надо интересующие фс: vfat

Извините, что всё так расплывчато, просто gnome'ом пользовался последний раз полтора года назад и позабывал всё уже, помню только, что тоже долго мучался )) причем основной проблемой для меня тогда было монтирование с опцией utf8 во избежании кракозябр :)

Всё работает! Получилось

Всё работает! Получилось пропатчить по рецепту inspirra. Кстати, кому интересно, в кедах за это отвечает kdelibs/solid/solid/backends/hal/halstorageaccess.cpp, который нужно патчить аналогичным образом. Вот кдешный баг на эту тему.

/system/storage/default_optio

/system/storage/default_options/vfat/mount_options

gconf ;)

- - -

И?

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".