如何处理 FUSE 文件系统中 Nautilus 的弹出操作?

如何处理 FUSE 文件系统中 Nautilus 的弹出操作?

我已经用 Python 编写了一个 FUSE 文件系统,当我单击“文件”实用程序中的弹出按钮时,我无法正确卸载它(这正在 Debian 8/Jessie 中进行测试)。当我尝试弹出文件系统时,出现权限被拒绝错误。

转到命令行,我可以sudo umount ~/mnt/point或者我可以fusermount -u ~/mnt/point并且都可以正常工作。每次我尝试通过文件 GUI 弹出时,以下行都会打印到系统日志中:

gnome-session[1204]: (tracker-miner-fs:1377): Tracker-WARNING **: Unmount operation failed, adding back mount point...
gnome-session[1204]: (tracker-extract:1408): libmediaart-WARNING **: Unmount operation failed, adding back mount point...
gnome-session[1204]: (tracker-extract:1408): Tracker-WARNING **: Unmount operation failed, adding back mount point...

查看我为 FUSE 支持导入的 fusion 代码(我使用的确切库在这里:https://github.com/terencehonles/fusepy)我没有看到任何可以连接的函数回调来从 GUI 获取卸载请求(我的理解是fusermount应该在幕后处理这些东西)。

/sbin/umount.<fstype>我什至在包装上编写了一个简单的 umount 帮助程序脚本fusermount,但这并没有改变行为或日志中的任何内容。我还应该注意到,实现 FUSE 文件系统的程序与我登录 Debian 的用户身份相同。

我需要在 FUSE 文件系统中做什么才能正确处理用户在 Debian 界面中的弹出操作?

相关内容