GVfs

редактировать
Программное обеспечение виртуальной файловой системы пользовательского пространства для среды рабочего стола GNOME
GVfs
Стабильный выпуск 1.33.3 / 19 июля, 2017; 3 года назад (19.07.2017)
Репозиторий Измените это в Викиданных
Операционная система Linux
Платформа GNOME
Тип уровень абстракции для файловой системы
Веб-сайтwiki.gnome.org / Projects / gvfs Измените это в Викиданных

GVfs (сокращение от Виртуальная файловая система GNOME ) - это пользовательское пространство GNOME виртуальная файловая система, предназначенная для работы с I / O абстракция GIO, библиотеки, доступной в GLib, начиная с версии 2.15.1. Он устанавливает несколько модулей, которые автоматически используются приложениями, использующими API libgio. Также имеется поддержка FUSE, которая позволяет приложениям, не использующим GIO, обращаться к файловым системам GVfs.

Причиной путаницы является тот факт, что абстракция файловой системы, используемая ядром Linux, также называется виртуальной файловой системой (VFS) слой. Однако это на более низком уровне.

Модель GVfs отличается от, например, GnomeVFS, который он заменяет, в этих файловых системах должен быть смонтирован перед их использованием. Существует главный демон (gvfsd), который обрабатывает координирующие монтирования, а затем каждое монтирование (обычно) находится в своем собственном процессе демона (хотя монтирования могут совместно использовать процесс демона).

GVfs поставляется с набором внутренних компонентов, включая поддержку мусора, SFTP, FTP, WebDAV, SMB и локальные данные через интеграцию Udev, OBEX, MTP и другие. GVfs, похоже, не поддерживает файлы , передаваемые по протоколу оболочки (FISH).

GVfs также содержит модули для GIO, которые реализуют мониторы тома и конфигурацию обработчика схемы URI GNOME.

В программе командной строки "gio" есть набор аргументов, позволяющий запускать команды (например, cat, ls, stat, mount и т. Д.) Для файлов в монтируемых GVfs.

Присоединенные ресурсы отображаются через синтаксис URI, например smb: // server01 / gamedata или ftp: // username: [email#160;protected] /public_html, но также смонтирован традиционным способом в ~ /.gvfs /или / run / user / $ UID / gvfsили $ XDG_RUNTIME_DIR / gvfsкаталог, чтобы сделать их доступными для приложений, использующих стандартные команды POSIX и ввод-вывод.

Содержание
  • 1 Технические характеристики
    • 1.1 Горячее подключение
    • 1.2 Упаковка
  • 2 См. Также
  • 3 Ссылки
  • 4 Внешние ссылки
Технические характеристики
Опция x-gvfs-showдля процесса gvfs-udisks2-volume-monitor определяет, отображается ли подключенное устройство в файлах GNOME. Снимок экрана дисков GNOME.

Наряду с общедоступными API-интерфейсами, такими как поддержка сети и D-Bus, GIO также предоставляет приложениям API-интерфейс VFS. GVfs предоставляет реализации, которые выходят за рамки этого и позволяют получать доступ к файлам и хранилищам с использованием множества протоколов. GVfs предоставляет реализации для различных сетевых файловых систем в виде загружаемых модулей. Кроме того, GVfs также обеспечивает поддержку корзины, сетевых или недавних папок, для записи компакт-дисков и для мониторинга интересных устройств и томов на компьютере.

Целью GVfs было преодолеть недостатки GnomeVFS и предоставить API, который настолько хорош, что разработчики предпочитают его необработанным вызовам POSIX. Среди прочего это означает использование GObject. Это также означает не клонирование POSIX API, а предоставление высокоуровневых интерфейсов, ориентированных на документы. GTK + может использовать его напрямую, например в Filechooser.

Приложения используют GVfs косвенно, посредством GIO, загружающего модуль GVfs, реализующий точки расширения GIO. Главный демон GVfs gvfsd порождает дополнительные демоны монтирования для каждого отдельного соединения. Поддержка GVfs для мониторинга объема включена в отдельный загружаемый модуль.

Фактическая реализация GVfs распределена по ряду процессов.

GVfs может использовать FUSE для монтирования своей VFS непосредственно в файловую систему. Он состоит из двух частей:

  1. разделяемой библиотеки, которая загружается приложениями, поддерживающими саму GIO
  2. GVfs, которая содержит набор демонов, которые взаимодействуют друг с другом и модулем GIO через D-Bus.

Набор утилит командной строки (таких как gvfs-mount, gvfs-less) работает с ресурсами VFS.

Демонзадача
Main
gvfsdgvfsd - это главный демон GVfs. Он предоставляет имя "org.gtk.vfs.Daemon" на шине сеанса. gvfsd автоматически запускается клиентами GIO, если он не запущен. Основная задача gvfsd - действовать как трекер / менеджер монтирования. Он порождает новые серверы по запросу и отслеживает их жизненный цикл, поддерживая список активных подключений и создает прямые подключения к ним. gvfsd также запускает gvfsd-fuse (1) и предоставляет ему точку монтирования, в которой должна быть смонтирована файловая система fuse.
gvfsd-fusegvfsd-fuse поддерживает монтирование FUSE (Filesystem in Userspace ), чтобы сделать серверные части GVfs доступными для приложений POSIX. Точка монтирования для файловой системы fuse предоставляется аргументом [PATH]. gvfsd-fuse обычно запускается gvfsd.
gvfsd-metadatagvfsd-metadata - это демон, действующий как сериализатор записи во внутреннее хранилище метаданных gvfs. Он автоматически запускается клиентами GIO, когда они вносят изменения в метаданные. Операции чтения выполняются клиентским кодом GIO напрямую и не требуют запуска демона. Возможности метаданных gvfs используются, например, файловым менеджером GNOME Files.
Мониторы громкости
gvfs-goa-volume-monitorподдержка (см. учетных записей GNOME Online в вики GNOME )
gfvs-gphoto2-volume-monitorподдержка протокола передачи изображений, как реализовано в gPhoto
gvfs-mtp-volume-monitorподдержка Media Transfer Protocol
gvfs -udisks2-volume-monitorПроцесс gvfs-udisks2-volume-monitor отвечает за диски, носители, подключения и записи fstab, отображаемые в пользовательском интерфейсе рабочего стола. В частности, Оболочка GNOME, Файлы GNOME, а также любое другое приложение, использующее API GLib, используют информацию из этого процесса. В Debian она распространяется как часть пакета gvfs-daemons. не путать с udisksd и udisksctl, которые являются частью пакета udisks2.. udisks : Демон udisks служит интерфейсом для системных блочных устройств, реализуемых через D-Bus. Он обрабатывает такие операции, как запросы, монтирование, размонтирование, форматирование и т. Д. протравливание запоминающих устройств, таких как жесткие диски или флэш-накопители USB.
gvfs-afc-volume-monitorподдержка
Mount back-end
gvfsd-afcмонтирует тома iPhone / iPod touch
gvfsd-afpмонтирует тома Apple Filing Protocol
gvfsd-afp-browseпросматривает тома Apple Filing Protocol
gvfsd-archiveмонтирует архивные файлы в различных форматах
gvfsd-burnобеспечивает место для записи компакт-дисков / оптических дисков
gvfsd-cddaмонтирует аудио компакт-диски
gvfsd-computerпредоставляет компьютер: //
gvfsd-davмонтирует файловые системы DAV
gvfsd-dnssdпросматривает DNS-SD
gvfsd-ftpмонтирует по FTP
gvfsd-gphoto2монтирует по PTP, что означает, что GVfs использует libgphoto2 для показа фотографий с камеры приложениям GNOME через VFS
gvfsd -httpмонтирует через HTTP
gvfsd-localtestтестовый бэкэнд
gvfsd-mtpмонтирует через MTP
gvfsd-networkпредоставляет сеть: //
gvfsd-nfsмонтирует по протоколу NFS
gvfsd-recentпредоставляет последние: / /
gvfsd-sftpмонтирует поверх sftp
gvfsd-smbмонтирует SMB (т.е. Общая файловая система Windows) тома
gvfsd-smb-browseпросматривает тома файловой системы общих ресурсов Windows
gvfsd-trashпредоставляет корзину: //

См. https://wiki.gnome.org/Projects/gvfs/backends для официальной документации.

Горячее подключение

Устройства, подключенные через eSATA или USB, физически (должны быть) с возможностью горячего подключения. Когда устройство физически подключено к компьютерной системе или физически удалено из нее, ядро ​​Linux замечает и отправляет событие в пользовательское пространство. systemd-udevd получает такие события и реагирует на них в соответствии со своей достаточно полной конфигурацией:

  • управляет специальной файловой системой devfs, смонтированной на / dev , следовательно, systemd-udevd динамически создает и удаляет узлы устройств из / dev, а также загружает драйверы по мере необходимости во время загрузки
  • в случае блочного устройства systemd-udevd уведомляет udisksdи gvfsdи gvfs-udisks2-volume-monitor.

Демон udisks2 udisksdслужит интерфейсом для системных блочных устройств, реализованных через D-Bus. Он обрабатывает такие операции, как запросы, монтирование, размонтирование, форматирование или отключение запоминающих устройств, таких как жесткие диски или флэш-накопители USB. Этот пакет также предоставляет утилиту udisksctl, которую можно использовать для запуска этих операций из командной строки (если это разрешено PolicyKit).

Упаковка

В Debian GVfs упакованы в четыре пакета: gvfs, gvfs-daemons, gvfs-bin и gvfs-backends.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
  • GNOME Files, файловый менеджер для Рабочие столы Gnome, позволяют пользователям взаимодействовать с файловыми системами GVfs
  • Thunar, файловый менеджер для среды рабочего стола Xfce, также предоставляет абстракцию файловых систем с помощью библиотеки GVfs
  • KIO, аналогичного средства для KDE systems
  • Archivemount, реализация виртуальной файловой системы специально для доступа к архивным файлам
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-21 09:34:04
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте