Автоматическое монтирование: продолжение истории
В своей статье Автоматическое монтирование я уже описал основные проблемы, с которыми сталкивается начинающий пользователь при использовании Archlinux.
По сути основная проблема заключается только в том, что для работы со сменными носителями нужно включить себя в группу storage и прописать правила PolicyKit… После этого практически все файловые менеджеры смогут осуществлять автоматическое монтирование. Больше ничего и не нужно. Последующее описание сервиса autofs касалось только случая, когда мы хотим использовать автоматическое монтирование сменных носителей при работе в консоли.
Практически в день публикации вместе с muhas нашли еще одно решение, которое позволяет использовать автоматическое монтирование как в иксах, так и в консоли. При этом способ великолепно интегрируется с файловыми менеджерами типа thunar, pcmanfm и другими…
Способ заключается в использовании демона halevt. Этот демон является развитием проекта ivman, который на сегодняшний день уже не развивается и успел устареть. Для монтирования используется hal, но в то же время практически ничего менять не нужно. Установить просто:
$yaourt -S halevt
После чего просто запускаем его:
$halevt
Он переходит в работу на фоне и использует свои правила для монтирования сменных устройств. Для того, чтобы демон запускался автоматически при старте системы, необходимо добавить следующую строку в .bashrc (.zshrc) и .xinitrc (я использую awesome в качестве оконного менеджера, поэтому все сервисы, которые стартуют при запуске иксов прописываются в .xinitrc):
pgrep halevt >> /dev/null || halevt &
Для использования команды pgrep должен быть установлен пакет procps. Данная команда позволяет проверить, запущен ли демон, и если нет, запустить его. Если работают на машине несколько пользователей лучше эту строку несколько модифицировать:
pgrep -U $USER halevt >> /dev/null || halevt &
Таким образом еще будет проверяться, от имени какого пользователя был запущен демон и монтирование в дальнейшем будет проводиться с нужными правами.
Для изменений опций монтирования необходимо править файл /usr/share/halevt/halevt.xml, который представляет собой обычный xml-файл, очень хорошо прокоментированный. Все что необходимо менять – это строки, в который присутствует команда mount.
По умолчанию при монтировании будет использоваться опция sync. Ее я рекомендую заменить на flush, для того, чтобы не уменьшать время жизни флешек.
Для того, чтобы демонтировать сменный носитель можно воспользоваться файловым менеджером в иксах, типа thunar или pcmanfm. Или же в консоли воспользоваться командой pumount.
В первом случае достаточно щелкнуть правой кнопкой мыши по имени носителя в боковой панели файлового менеджера и выбрать пункт «извлечь носитель».
Для использования функции демонтирования в консоли требуется наличие установленного пакета pmount:
$yaourt -S pmount
Для демонтирования используем команду:
$pumount /media/disk
Причем оба способа не конфликтуют друг с другом. Можно использовать любой из них…
На мой взгляд это самый оптимальный и можно сказать единственный из работающих способ автоматического монтирования, который может использоваться в иксах и консоли одновременно.

Последнее предложение ошибочно – есть ещё по крайней мере hal-mount-subfs, там и вообще никаких действий руками предпринимать не надо.
Последнее предложение не может быть ошибочным, так как начинается со слов «На мой взгляд». То есть я высказал свое мнение.
Но за замечание спасибо! Посмотрю еще в сторону hal-mount-subfs.
Я б еще посоветовал написать скриптик для запуска демона, и прописать в /etc/rc.conf
А зачем? Скрипт есть из коробки… демона можно запускать и из под root при старте системы и от пользователя, при старте его сессии… памятуя о проблемах, которые были у ivman при старте от root, описал метод запуска от имени пользователя.
Оба варианта имеют право на существование.
Да, конечно, на вкус и цвет, как говорится.
Мне просто удобнее когда все из одного места стартует.
Ну как я уже говорил, сам демон имеет скрипт запуска в /etc/rc.d и ничто не мешает использовать старт демона от имени рута, для этого достаточно будет только добавить имя демона в строку DAEMONS файла /etc/rc.conf
И ничего самому писать не нужно. =)
зы: про вкус и цвет полностью согласен! в этом сила линуха…
вопрос : у меня вот что выдает – $ halevt
manager.c:341 (main) No configuration file found
и файл /usr/share/halevt/halevt.xml отсутствует.
Это нормально. В новой версии halevt просто файлы конфигурации находятся в примерах. Я уже описывал это в статье про обновление halevt, посмотрите на сайте.
ага, спасибо )