Каковы слои между Nautilus и съемным устройством хранения?

Мой вопрос несколько велик, но я не мог понять, как его разбить, не разрушив.

Похоже, не очень хороший (работающий) способ монтирования Nexus 4 в Ubuntu, поэтому я подумал написать какую-нибудь оболочку adb, потому что adb работает хорошо. Итак, мой вопрос:

Каковы слои / части системы между Nautilus/Nemo и съемным запоминающим устройством и как они работают?

  • Как файловый менеджер с графическим интерфейсом, например, Nautilus, извлекает содержимое папки и информацию о файле. Это бросает команды как ls, cd на заднем фоне?
  • Какая системная часть отвечает за просмотр / мультимедиа и как она работает? Могу ли я разместить здесь свой собственный обработчик?
  • Возможно ли вообще то, о чем я думаю?

1 ответ

Решение

MTP помогает?

Похоже, не очень хороший (функциональный) способ монтирования Nexus 4 в Ubuntu, […]

Мне было интересно, если вы знали о протоколе MTP? Похоже, это основной способ доступа к медиа-данным устройств Android без SD-карт через USB.

Современные версии Ubuntu (>= 13.04) должны уже поддерживать MTP для Nautilus. Для более старых версий Ubuntu (например, 12.04) вам может потребоваться установить обновление библиотеки вручную или из PPA.

Возможно, вам также придется включить поддержку MTP на устройстве Android в разделе "Системные настройки" → "Хранилище" → "USB-подключение (ПК)".

GVFS, FUSE и т. Д.

[…] Я думал о том, чтобы написать какую-нибудь оболочку adb, потому что adb работает хорошо. Итак, мой вопрос:

Каковы слои / части системы между Nautilus/Nemo и съемным запоминающим устройством и как они работают?

  • Как файловый менеджер с графическим интерфейсом, например, Nautilus, извлекает содержимое папки и информацию о файле. Это бросает команды как ls, cd на заднем фоне?

Здесь задействовано много разных слоев, но определенно Наутилус не запускает эти команды оболочки в фоновом режиме; это было бы слишком медленно.

Основной слой, который вы должны изучить для своего проекта - это GVFS. Согласно Википедии, "GVFS - это виртуальная файловая система для рабочего стола GNOME, которая позволяет пользователям легко получать доступ к удаленным данным через SFTP, FTP, WebDAV, SMB и локальным данным через интеграцию с Udev, OBEX, MTP и другие".

Поскольку GVFS поддерживает FUSE (что может быть еще одним интересным слоем для нашего обсуждения), вы можете попробовать что-то вроде adbfuse. Он оборачивает ADB в драйвер FUSE, который затем может использоваться Nautilus через GVFS. Пожалуйста, обратите внимание, что я не пробовал это, однако, мне было бы интересно услышать о любом опыте, который вы могли бы сделать с ним:-)

  • Какая системная часть отвечает за просмотр / мультимедиа и как она работает? Могу ли я разместить здесь свой собственный обработчик?

Я не совсем уверен в этом, но я думаю, что в конечном итоге udisks убедится, что вы видите съемные устройства хранения под /media,

  • Возможно ли вообще то, о чем я думаю?

Это, конечно, возможно, как вы можете видеть с помощью adbfuse; просто запустите веб-поиск "fuse android adb", и вы получите несколько похожих проектов:-)

Другие вопросы по тегам