Linux: куда GVFS монтирует сетевые ресурсы

До недавнего времени особо не приходилось задумываться что такое gvfs и куда этот "демон" монтирует сетевые ресурсы Samba. Причем, многие пользователи Gnome даже и не подозревают о том, что в 90% случаев пользуются GVFS при монтировании сетевых ресурсов Windows.
Возьмем файловый менеджер Nautilus. В данном случае предполагается, что в системе установлен smbclient для работы с сетевыми ресурсами Windows. Для того, чтобы при помощи Nautilus подключить windows-шару нужно нажать сочетание клавиш Ctrl+L и в появившейся строке ввода адреса ввести smb://ip_адрес_шары/. Выглядеть это может так:

Строка ввода адреса в Nautilus
В результате Nautilus отобразит нам список всех доступных сетевых папок.  Если открыть какую-то папку, то в боковой панели слева (отмечено красным) она отобразится, как "съемное устройство", аля флешки:
Список доступных сетевых папок
 В данном примере я открыл сетевую папку docs. Данный ресурс будет доступен в Nautilus до тех пор, пока мы не отсоединим данный ресурс (нажать правую кнопку мыши данному ресурсу-->Отсоединить ресурс) или не выключим компьютер. Кроме того, ссылку на данный ресурс можно найти также и на рабочем столе.
И тут возникает вопрос, куда физически монтируется данная папка, где ее искать ?
Дело в том, что с недалеких времен для монтирования удаленных smb-ресурсов Gnome начал использовать так называемую GVFS (Gnome Virtual File System). По логике вещей все  открытые сетевые ресурсы в Nautilus я пытался найти либо в /media, либо в /mnt. Но, к сожалению, поиск не дал никаких положительных результатов и я обратился с данным вопросом к Google. На многих форумах пользователи практически единогласно утверждали, что gvfs монтирует все сетевые ресурсы в ~/.gvfs. Но у меня эта папка была пустая.  После непродолжительных поисков решение было найдено: требовалось установить пакет gvfs-fuse.
В Debian/Ubuntu вводим команду:
$ sudo aptitude install gvfs-fuse
После чего проверяем находится ли наш пользователь в группе fuse:
Система-->Администрирование-->Пользователи и группы-->Управление группами. 
Находим группу fuse и отмечаем галочку напротив нашего пользователя. Делаем LogOff (завершаем сеанс текущего пользователя) и заходим опять в систему.
В результате, если открыть нужный сетевой ресурс в Nautilus, то в папке ~/.gvfs (/home/имя_пользователя/.gvfs) появится папка с подключенным ресурсом.
В нашем случае это будет : "docs на 172.16.2.2  "



Комментарии

  1. Спасибо! Давно уже любопытствовал на эту тему.

    ОтветитьУдалить
  2. Спасибо. Но вопрос: а если gvfs-fuse не установлен и пользователь не в группе, получается, нормального монтирования нет?

    ОтветитьУдалить
  3. Не за что. Если fuse не установлен и пользователь не добавлен в группу fuse, то монтирование сетевого ресурса будет проходить. Нюанс в том, что в домашней папке не будет папки .gvfs, в которой можно будет посмотреть содержимое сетевого ресурса.

    ОтветитьУдалить
  4. у меня почемуто монтируется в

    /run/user/[user_name]/gvfs/[sharename]

    а папки ~/.gvfs вообщее нет

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения из этого блога

Написание сервлетов в Java при помощи NetBeans

Права доступа в Debian и команды chmod и chown

Установка Apache Tomcat в ОС Windows