Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  AutoMount
  laptop battery
  root-tail
  desktopbsd-tools
  QTFW
  KNemo
  klaptopdaemon
  Десктоп c FreeBSD
  Печать из фри в винду
  FluxBox
  NSPluginWrapper
  xorg 7.3 + xdriinfo
  kde и smb
  QWERTZ раскладка
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> X11 —> AutoMount

Автомонтирование флэшек и CD-ROM в KDE с перекодировкой

Автор: lissyara.


    Тема была поднята в форуме, начал разбираться - оказалось интересно (да-да, а ещё жена пинала, типа неплохобы диски смотреть без бамажки, на которой было написано как смонтировать-отмонтировать сидиром :))) - вот кто истинный двигатель прогресса). Посему для начала немного теории, нарытой на просторах интернета.
   Автомонтирование, с недавних версий kde (с каких точно - не скажу, не знаю, но совсем недавно) осуществляется через приблуду одолженную в гноме - HAL (Hardware Abstraction Layer). С её помощью, при подключении устройства его параметры передаются другим приложениям. В данном случае - konqueror. После чего уже эти приложения решают что делать.
   Собственно, на этом моменте и выходит первый затык поднятого вопроса - hal честно передаёт детектированные параметры, и те что у него я прописал в конфигурации. А вот KDE начало косячить (тоже спорный вопрос - будет рассмотрено позже) - передаваемые параметры по тихому игнорировались, а возможность задать свои появится лишь в KDE4. Вот так. :)
   Итак. Автомонтирование как таковое работает с полпинка без особых настроек. Мучать будем KDE 3.5.6 - последняя на сегодня версия, из портов. Локаль у меня - koi8-r. Для начала надо убедиться, что оно установлено с поддержкой HAL:
lissyara$ pkg_info -r kdebase-3.5.6_2 | grep hal
Dependency: hal-0.5.8.20070403_1
lissyara$   

   Если это не так - унывать не стоит - всё равно пересобирать :) А вот счастливые обладатели kde с hal (по дефолту именно так в последних версиях) могут влёт врубать автомонтирование. Для этого надо запустить службы, стартовые скрипты от которых выляются в /usr/local/etc/rc.d, для чего прописываем в /etc/rc.conf следующие строки:
# For kde
hald_enable="YES"
# для отладки - я смотрел цепляются ли мои файлы кодировок
#hald_flags="--use-syslog --verbose=yes --daemon=yes"
dbus_enable="YES"
polkitd_enable="YES"

   До кучи, необходимо добавить пользователей, которым надо будет чё-то монтировать, в группу "operator", и закомментировать в /etc/fstab строку про CD-ROM - больше она не нужна:
pw groupmod operator -m lissyara # добавил себя

   Можно запустить соответствующих даемонов руками, можно перезагрузить машину (последнее лучше - ибо мне не удалось заставить систему понять, что я теперь есть и в группе "operator" - тока через перезагрузку). После чего при вставке CD-диска лезет красивое окошко, как на картинке, и диски монтируются автоматически. Отмонтирование происходит по правой мыши, или нажатем конопки на сидюке - после чего он выезжает. Красота!


   Тоже самое и с флэшками. Если ничёне вылезает, проверьте, запущена ли такая служба:


   Однако, если бы всё было так просто, я бы даже не стал чё-то расписывать. Всё оказалось немного сложнее, поэтому и была вводная про параметры, которые не принимает KDE.

   Итак. Первая же флэшка, что попалась в руки (не моя - мои все в UFS и монтировались без проблем), была сделана хорошим человеком по моей просьбе - и имела она русскую метку тома, набор файлов с русскими именами внутри, до кучи одно имя файла было стишком - про папу, Васю, и достижения в области математики... Короче - очень длинное имя файла :). Разумеется она не смонтировалась :) Проблема была понятна сразу - русская метка тома, и умничающий KDE, который пытался смонтировать её по пути /media/русская метка тома. Ему бы это вполне удалось, если бы ещё кодировка метки нормально детектнулась - однако, там были нечитаемые символы.
   Эта проблема решается легко. Топаем в порты, и пересобираем hal.
lissyara$ cd /usr/ports/sysutils/hal
lissyara$ make config

В вылезшем окошке поставить галочку:
Options for hal 0.5.8.20070403_1
[X] FIXED_MOUNTPOINTS  use fixed mountpoints

   После чего сносим текущий hal, и собирем новый:
lissyara$ pkg_delete -f hal-0.5.8.20070403_1
pkg_delete: package 'hal-0.5.8.20070403_1' is required by these other packages
and may not be deinstalled (but I'll delete it anyway):
eel-2.18.0.1
gnome-desktop-2.18.1_1
gnome-menus-2.18.0
gnome-mount-0.6_2
gnome-vfs-2.18.1
hal-device-manager-0.5.8.20070403
kde-3.5.6
kdeartwork-3.5.6_1
kdebase-3.5.6_2
kdepim-3.5.6_2
kdesdk-3.5.6
kdeutils-3.5.6
kdevelop-3.4.0_2
kdewebdev-3.5.6,2
kmplayer-0.9.3_1,2
libbonoboui-2.18.0
libgnome-2.18.0
libgnomeui-2.18.1
nautilus-2.18.1
openoffice.org-2.0.4
py24-gnome-2.18.2
tracker-0.5.4_1
pkg_delete: unable to completely remove directory '/usr/local/share/hal'
pkg_delete: unable to completely remove directory '/usr/local/etc/hal/fdi/policy'
pkg_delete: unable to completely remove directory '/usr/local/etc/hal/fdi'
pkg_delete: unable to completely remove directory '/usr/local/etc/hal'
pkg_delete: couldn't entirely delete package (perhaps the packing list is
incorrectly specified?)
lissyara$ make install clean

   Запускаем hal:
lissyara$ /usr/local/etc/rc.d/hald restart
hald not running? (check /var/run/hald/hald.pid).
Starting hald.
lissyara$

и недолго радуемся жизи - устройства стали монтироваться по имени устройства, но сильно легче не стало - не в силах показать содержимое флэшки, ни ls ни конкверрор непоказывают вообще ничего.
   Рысканья по инету дали патч для kdebase, правда писанный под линух, и никаких опций кроме линуксовых непонимающий. Немного работы напильником, и был наструган патч для FreeBSD. Итого, кладём такой файлик /usr/ports/x11/kdebase3/files/patch-z-hal.diff, и пересобираем kdebase, не забыв про поддержку hal:
patch for kdebase3
файл скачан размер размещён примечание
patch-z-hal.diff
1955 2.5kb 2007-04-25 Патч для возможности монтирования msdosfs с перекодировкой.

   Пока оно пересобирается, кладём такой фалик:
lissyara# more /usr/local/etc/hal/fdi/policy/20-flash.fdi
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
 <device>
 <match key="volume.fstype" string="vfat">
  <merge key="volume.policy.mount_option.-L=ru_RU.KOI8-R" type="bool">true</merge>
  <merge key="volume.policy.mount_option.-D=CP866" type="bool">true</merge>
 </match>
 </device>
</deviceinfo>

   А также, добавляем такие строки (с запасом - для всех поддерживаемых файловых систем) в конфиг лоадера:
lissyara# grep iconv /boot/loader.conf
libiconv_load="YES"
msdosfs_iconv_load="YES"
cd9660_iconv_load="YES"
ntfs_iconv_load="YES"
udf_iconv_load="YES"
lissyara#    

   После пересборки, перезапускаем hal, перезапускаем KDE, грузим модули руками (можно просто перезагрузить машину). Всё. Флэшки нормально монтируются и с русскими именами.

P.S. Если кто-то в состоянии подпилить патч до цивильного состояния, - сделайте это, и пошлите портдевелоперам. Может включат в порты - будет щассье всем.

   Пара примечаний.
1. Используемая опция hal - mount_option - она устарела, и разработчики hal хотят от неё отказаться. Соответствено - описанное перестанет работать. Остаётся лишь надеяться, что к тому времени допилят KDE на тему возможности задавать опции монтирования. Кстати - вот линк на обсуждение. Там есть патч, чтобы можно было добавлять дополнительные опции через гуя, но их набор фиксированный.
2. Не забываем обновить порты.
3. Добавлять переменные sysctl (vfs.usermount=1) не надо. Можете добавить, но у меня и без них пашет.
4. Добавляется "виндовое" поведение - это когда после вставки диска иксы тупанули на пару секунд :)
5. Не надо выдёргивать флэшки на ходу - неотмонтированными. Система упадёт, хоть и не сразу...
6. Вопросы - в форум.

2007-07-08: В kde-3.5.7 - патчей не надо, всё нормально, кроме точки монтирования. Поэтому остаётся только собирать hal с фиксированной точкой монтирования и всё.



Ссылка на обсуждение: Incorrect URL.

размещено: 2007-04-25,
последнее обновление: 2008-05-20,
автор: lissyara

оценить статью:

Fastman, 2007-04-25 в 11:29:00

Супер, жил без этого как то. но обязательно попробую это безобразие повторить )

RockerMan, 2007-05-13 в 19:11:43

Все замечательно работает, спасибо! Только вот не сазано, как флешку отмонтировать. Поискал, нашел: на раб.столе открыл линк "Система", в нем "Устройства хранения" - и там будет флешка. Кликаете на ней и выбираете "Безопасно извлечь".

GGG, 2007-07-02 в 3:30:40

Спасибо за патч, запостил PR:
http://www.freebsd.org/cgi/query-pr.cgi?pr=114199

lazyklimm, 2007-07-26 в 15:14:37

Да, кстати, может и некошерно, но я не стал убирать строчку из fstab, ведь там и кодировки, и точки монтирования можно проставить заранее.
А для монтирования пользователями поставил суид на маунт/умаунт, и права на папку куда оно монтируется(/mnt/cdrom), сделал 0660
1) cd /sbin; chmod +s *mount*
2) chmod 0660 /mnt/cdrom
Все работает намана, шо я сделал не так?

lazyklimm, 2007-07-26 в 15:36:03

Да, можно еще сделать так:
ln -s /mnt/cdrom ~/

Gnix, 2008-04-13 в 2:04:06

Классно-в FreeBSD все делаеш сам, ручками
В PCBSD уже все сделано за тебя
спасибо

mazzy, 2008-07-16 в 4:48:58

Gnix, после того, как ты это проделаешь "ручками" - заценишь всю прелесть  "ручной" работы :) ведь не зря во всем мире ручная работа ценится больше всего :) сорри за оффтоп.

lissyara, 2008-07-16 в 9:07:19

От того, что это сделали за тебя, ты не будешь понимать как оно работает. А значит тебе изначально бесполезно иметь BSD на десктопе, - и путь у тебя один - икспа или виндовс-со-свистом =)

xaljava, 2009-12-15 в 21:20:22

>>(да-да, а ещё жена пинала, типа неплохобы диски смотреть без бамажки, на которой было написано как смонтировать-отмонтировать сидиром :))) - вот кто истинный двигатель прогресса)

=))) Эх, блин, не дали статью дочитать, ничего вернусь ещё.

Товарищщи! , 2010-05-26 в 23:10:10

Товарищщи!    Это поля для ввода комментариев к статье, а не для вопросов.   Сюда пишите найденные баги, или какие-то фичи :)
  Для вопросов есть форум!

DimanNe, 2012-04-09 в 9:29:01

Для автомаунта ntfs флешек в rw режими из KDE, надо сделать
cd /sbin
cp /usr/local/share/hal/mount-fuse ./mount-fuse
mv mount_ntfs mount_ntfs.backup
mv mount-fuse mount_ntfs

взято отсюда
http://lzsblog.appspot.com/?p=298001


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash

Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT

Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3

Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 16 чел.
За последние 30 мин было: 59 человек
За сегодня было
4982 показов,
620 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.1198 секунд
Из них PHP: 50%; SQL: 50%; Число SQL-запросов: 80 шт.
Исходный размер: 93239; Сжатая: 19737