Автоматическое монтирование сменных носителей

| 14.10.2013

Для того, чтобы любые CD/DVD-диски, а также USB-накопители с файловыми системами FAT, NTFS и UFS монтировались автоматически, необходимо:

1) во-первых, удалить из таблицы файловых систем /etc/fstab все определения файловых систем, расположенных на сменных носителях, и разделов с FAT и NTFS, находящихся на жестких дисках;

2) во-вторых, добавить пользователя, под которым выполняется работа в GNOME, в группу operator;

3) в-третьих, разрешить этому пользователю выполнение любых операций с хранилищами данных в конфигурации подсистемы PolicyKit;

4) в-четвертых, разрешить всем доступ к существующим при запуске системы устройствам cd0, pass0, xpt0;

5) в-пятых, разрешить всем доступ ко всем устройствам daX, daXsX, создаваемых при подключении USB-накопителей;

6) в-шестых, сообщить GNOME опции монтирования файловых систем cd9660, vfat и ntfs.
Для добавления пользователя user в группу operator следует выполнить команду pw group mod operator -m user.
Для того, чтобы подсистема PolicyKit разрешала пользователю user выполнять любые операции с хранилищами данных, нужно привести содержание файла /usr/local/etc/PolicyKit/PolicyKit.conf к такому виду:

01. <?xml version="1.0" encoding="UTF-8"?>

02. <!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"

03. <"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">

04. <config version="0.1">

05. <match user="root">

06. <return result="yes"/>

07. </match>

08. <define_admin_auth group="wheel" />

09. <match user="user">

10. <match action="org.freedesktop.hal.storage.*">

11. <return result="yes"/>

12. </match>

13. </match>

14. </config>

Для разрешения всем пользователям доступа к существующим при запуске системы устройствам cd0, pass0 и xpt0 необходимо привести содержание файла /etc/devfs.conf к такому виду:

1. perm cd0   0666

2. perm pass0 0666

3. perm xpt0  0666

4. link cd0   cdrom

5. link cd0   dvd

Cтроки link... обеспечивают автоматическое создание ссылок с именами /dev/cdrom и /dev/dvd на устройство /dev/cd0. Эти ссылки требуются для корректной работы большинства популярных мультимедийных плееров и приложений для записи CD/DVD-дисков.
Для того, чтобы разрешить всем пользователям доступ к устройствам daX и daXsX, создаваемым системой в момент подключении USB-накопителей, следует, во-первых, создать файл /etc/devfs.rules, имеющий такое содержимое:

1. [localrules=10]

2. add path 'da*'   mode 666 group operator

3. add path 'da*s*' mode 666 group operator

И добавить в файл /etc/rc.conf строку:

1. devfs_system_ruleset="localrules"

Для вступления в силу изменений в файлах /etc/devfs.conf, /etc/devfs.rules и /etc/rc.conf нужно отсоединить уже смонтированные сменные носители и выполнить команду /etc/rc.d/devfs restart.
Для того, чтобы сообщить GNOME опции монтирования файловых систем cd9660, vfat и ntfs, необходимо выполнить три команды:

1. # gconftool-2 -s -t list --list-type=string /system/storage/default_options/cd9660/mount_options [-C=utf-8]

2. # gconftool-2 -s -t list --list-type=string /system/storage/default_options/vfat/mount_options [longnames,-u=0,-g=0,-m=666,-M=777,-L=ru_RU.UTF-8]

3. # gconftool-2 -s -t list --list-type=string /system/storage/default_options/ntfs/mount_options [-C=utf-8]

 Сразу после выполнения указанных команд любые CD/DVD-диски и USB-накопители с файловыми системами FAT, NTFS и UFS начнут монтироваться автоматически, все имена файлов на русском языке будут отображаться корректно, Вы сможете управлять CD/DVD-приводом средствами GUI.

Монтирование NTFS-разделов для чтения и записи

В настоящее время штатные средства операционной системы FreeBSD поддерживают монтирование NTFS-разделов только для чтения. Если Вас, как и меня, это не устраивает, придется установить и интегрировать в систему альтернативный драйвер NTFS (далее - драйвер ntfs-3g), а также разрешить всем доступ к NTFS-разделам, существующим в момент запуска системы.
Для установки драйвера ntfs-3g следует выполнить команды:

1. # cd /usr/ports/sysutils/fusefs-ntfs

2. # make install clean

После завершения установки нужно добавить в файл /etc/rc.confстроку, обеспечивающую автоматический запуск ntfs-3g:

1. fusefs_enable="YES"

и запустить драйвер командой /usr/local/etc/rc.d/fusefs start.
Интеграция драйвера ntfs-3g в систему заключается в замене штатной утилиты /sbin/mount_ntfs скриптом /usr/local/share/hal/mount-fuse:

1. # cd /sbin

2. # mv mount_ntfs mount_ntfs-dist

3. # cp /usr/local/share/hal/mount-fuse ./mount_ntfs

В моем случае при запуске системы существует два NTFS-раздела, находящихся на первом жестком диске. Первый NTFS-раздел является основным и определяется как устройство /dev/ad4s1, а второй NTFS-раздел представляет из себя логический диск и определяется как устройство /dev/ad4s5. Для разрешения всем пользователям доступа к этим устройствам достаточно добавить в файл /etc/devfs.conf строки:

1. perm ad4s1 0666

2. perm ad4s5 0666

После выполнения перечисленных действий и перезагрузки компьютера NTFS-разделы будут смонтированы и доступны для чтения и записи. Учтите, что предложенный способ монтирования NTFS-разделов имеет два недостатка. Первая из проблем состоит в том, что в окнеКомпьютер каждый из NTFS-разделов отображается в виде двух устройств, первое из которых по мнению Nautilus'а является USB-накопителем с именем Запоминающее устройство: Диск X ГБ, а второе - жестким диском с именем adXsX, совпадающим с именем устройства, определенным операционной системой:

при этом первое из устройств не реагирует на действия со стороны пользователя.

Вторая проблема заключается в том, что все попытки выполнения команды Отсоединить том по отношению к NTFS-разделам заканчивается сообщением о том, что Operation not permitted. Я не расстраиваюсь из-за двух лишних значков, NTFS-разделы корректно размонтируются при завершении работы системы, поэтому меня вполне устраивает драйвер ntfs-3g.
Остается сказать, что документация HAL рекомендует присвоить параметру /system/storage/default_options/ntfs/fstype_overrideзначение ntfs-3g и обещает, что после этого для монтирования NTFS-разделов будет использоваться драйвер ntfs-3g. Действительно, GNOME поддерживает такой параметр, и после его изменения демон hald пытается использовать драйвер ntfs-3g для монтирования NTFS-разделов, однако из-за кривизны текущей версии драйвера ntfs-3g подобные попытки монтирования NTFS-разделов заканчиваются сообщениями о том, что Operation not supported by device. В связи с этим я не рекомендую Вам трогать параметр/system/storage/default_options/ntfs/fstype_override.

Запрет автомонтирования некоторых устройств

Если по каким-либо причинам Вы не хотите, чтобы некоторые устройства хранения данных монтировались автоматически, необходимо создать файл /usr/local/etc/hal/fdi/preprobe/20thirdparty/10-ignore-disks.fdi и добавить в него соответствующие инструкции. Например, для запрета автоматического монтирования устройства/dev/ad4s1 указанный файл должен иметь такое содержимое:

1. <?xml version="1.0" encoding="UTF-8"?>

2. <deviceinfo version="0.2">

3. <device>

4. <match key="block.device" string="/dev/ad4s1">

5. <merge key="info.ignore" type="bool">true</merge>

6. </match>

7. </device>

8. </deviceinfo>

Для того, чтобы файл /usr/local/etc/hal/fdi/preprobe/20thirdparty/10-ignore-disks.fdi начал работать, следует отмонтировать заданные устройства, а затем перезапустить демон hald командой /usr/local/etc/rc.d/hald restart (в случае использования драйвера ntfs-3g и запрета автоматического монтирования хотя бы одного NTFS-раздела придется перезагрузить компьютер).

Выбор прикладного программного обеспечения

Как я уже сказал в начале статьи, предложенная конфигурация GNOME нисколько не ограничивает Вас в вопросах выбора прикладного программного обеспечения. В связи с этим я просто перечислю популярные прикладные приложения, которые использую сам.
Во-первых, даже минимальная сборка GNOME содержит несколько полезных прикладных приложений. Например, я использую просмотрщик графики Глаз GNOME, просмотрщик документов Evince, Текстовый редактор gedit, утилиту Создание снимков экрана и, конечно же,Терминал среды GNOME.
Во-вторых, GNOME не предъявляет какие-то специфические требования к прикладному программному обеспечению, поэтому я продолжаю успешно использовать такие приложения, как браузеры Chromium и Mozilla Firefox с поддержкой Flash и Java, почтовый клиент Mozilla Thunderbird, мессенджеры Pidgin и Skype, P2P-клиенты aMule и Linux DC++, офисный пакет OpenOffice.org и графический редактор GIMP.
В-третьих, коллекция портов содержит внушительный объем прикладного программного обеспечения, развивающегося в рамках проекта GNOME или поддерживающего интеграцию с этой графической оболочкой. Например, я записываю CD/DVD-диски с помощью предназначенного этого приложения Brasero, слушаю музыку с помощью аудиоплеера Rhythmbox, а также использую мультимедийный плеер MPlayer и RDP-клиент rdesktop не напрямую, а через предназначенные для GNOME надстройки GNOME MPlayer и Remotedesktop Client.
Я надеюсь, что перечисленного прикладного программного обеспечения будет достаточно по крайней мере на первое время.

Пара слов об оптимизации производительности

Не взирая на то, что производительность GNOME находится на приемлемом уровне, можно сделать ее еще выше.
Для снижения нагрузки на процессор нужно:

1) во-первых, выключить автозапуск неиспользуемых приложений;

2) во-вторых, выбрать максимально легкую тему оформления рамок окон;

3) в-третьих, отключить отображение иконок в меню и использование эффектов анимации панелей.
Для выключения автоматического запуска выбранных приложений необходимо открыть окно Параметры запускаемых приложений и убрать галочки, которые кажутся Вам лишними. Учтите, что отключение автоматического запуска некоторых приложений может вызвать перебои в работе GNOME.
Для измерения тяжести каждой из понравившихся Вам тем оформления рамок окон следует выполнить команду metacity-theme-viewer <Название темы>, в открывшемся окне перейти на закладку Рейтинг производительности и запомнить количество времени, которое требуется для рисования одной рамки. После завершения замеров нужно остановиться на той теме, которая обеспечивает минимальные затраты времени.
Для отключения отображения иконок в меню и запрета использования эффектов анимации панелей достаточно выполнить команды:

1. # gconftool-2 -s -t bool /desktop/gnome/interface/menus_have_icons false

2. # gconftool-2 -s -t bool /apps/panel/global/enable_animations false

Для ускорения открытия папок, которые содержат значительное количество файлов, можно отключить создание миниатюр графических, звуковых и текстовых файлов, а также подсчет количества файлов в папках. Для такого изменения поведения Nautilus'а достаточно выполнить команды:

1. # gconftool-2 -s -t string /apps/nautilus/preferences/show_image_thumbnails never

2. # gconftool-2 -s -t string /apps/nautilus/preferences/preview_sound never

3. # gconftool-2 -s -t string /apps/nautilus/preferences/show_icon_text never

4. # gconftool-2 -s -t string /apps/nautilus/preferences/show_directory_item_counts never

Все изменения конфигурации GNOME, перечисленные в данном разделе, вступают в силу сразу после выполнения указанных команд.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

три + шестнадцать =

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: