![Nautilus 和可移动存储设备之间有哪些层?](https://linux22.com/image/862396/Nautilus%20%E5%92%8C%E5%8F%AF%E7%A7%BB%E5%8A%A8%E5%AD%98%E5%82%A8%E8%AE%BE%E5%A4%87%E4%B9%8B%E9%97%B4%E6%9C%89%E5%93%AA%E4%BA%9B%E5%B1%82%EF%BC%9F.png)
我的问题有点大,但我不知道如何在不破坏它的情况下将其分解。
在 Ubuntu 中似乎没有很好的(有效)方法来安装 Nexus 4,所以我想编写某种 adb 包装器,因为 adb 运行良好。所以我的问题是:
Nautilus/Nemo 和可移动存储设备之间的层/系统部分是什么,它们如何工作?
- 像 Nautilus 这样的 GUI 文件管理器如何获取文件夹内容和文件详细信息。它是否会在后台发出类似
ls
的命令?cd
- 当您浏览 /media 时,哪个系统部分负责?它如何工作?我可以在这里的某个地方放置自己的处理程序吗?
- 我所想的事情有可能实现吗?
答案1
MTP 有帮助吗?
在 Ubuntu 中似乎没有很好的(可行)安装 Nexus 4 的方法,[…]
我想知道你是否知道MTP 协议? 这似乎是通过 USB 访问不带 SD 卡的 Android 设备媒体数据的主要方式。
现代 Ubuntu 版本(>= 13.04)应该已经为 Nautilus 提供 MTP 支持。对于较旧的 Ubuntu 版本(例如,12.04)你可能需要手动安装库升级,或者从购电协议。
您可能还需要在 Android 设备的“系统设置”→“存储”→“USB 连接(PC)”下打开 MTP 支持
GVFS、FUSE 等
[…] 我考虑编写某种 adb 包装器,因为 adb 运行良好。所以我的问题是:
Nautilus/Nemo 和可移动存储设备之间的层/系统部分是什么,它们如何工作?
- 像 Nautilus 这样的 GUI 文件管理器如何获取文件夹内容和文件详细信息。它是否会在后台发出类似
ls
的命令?cd
其中涉及很多不同的层,但 Nautilus 肯定不会在后台运行这些 shell 命令;这会太慢。
你应该为你的项目研究的主要层是垂直起降系统。 根据维基百科, “GVFS 是 GNOME 桌面的虚拟文件系统,它允许用户通过 SFTP、FTP、WebDAV、SMB 轻松访问远程数据,并通过 Udev 集成、OBEX、MTP 等轻松访问本地数据。”
由于 GVFS 支持保险丝(这可能是我们讨论的另一个有趣的层面),你可以尝试类似数据库管理工具。它将 ADB 包装在 FUSE 驱动程序中,然后 Nautilus 可以通过 GVFS 使用。请注意,我还没有尝试过,但是,我很想听听你使用它的任何经验 :-)
- 当您浏览 /media 时,哪个系统部分负责?它如何工作?我可以在这里的某个地方放置自己的处理程序吗?
我不太确定,但我认为u盘最终确保您看到 下的可移动存储设备/media
。
- 我所想的事情有可能实现吗?
正如您在 adbfuse 中看到的那样,这当然是可能的;只需在网上搜索“fuse android adb”,您就会得到一些类似的项目 :-)