Como manipular a ação Ejetar do Nautilus no sistema de arquivos FUSE?

4

Eu escrevi um sistema de arquivos FUSE em Python e estou tendo problemas para fazê-lo desmontar corretamente quando clico no botão de ejeção do utilitário Files (isso está sendo testado no Debian 8 / Jessie). Quando tento ejetar o sistema de arquivos, recebo um erro de permissão negada.

Indo para a linha de comando, posso sudo umount ~/mnt/point ou posso fusermount -u ~/mnt/point e ambos funcionam corretamente. As linhas a seguir são impressas no syslog toda vez que tento ejetar pela GUI do Files:

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...

Examinando o código do fusepy estou importando para o suporte do FUSE (a biblioteca exata que estou usando está aqui: link ) Eu não vejo nenhum retorno de chamada de função que eu possa ligar para obter pedidos de não-montagem da GUI (eu entendo que fusermount deve lidar com essas coisas nos bastidores de qualquer maneira).

Eu até escrevi um script auxiliar de umount simples em /sbin/umount.<fstype> para envolver fusermount , mas isso não alterou nada no comportamento ou nos logs. Eu também devo observar que meu programa implementando meu sistema de arquivos FUSE está rodando como o mesmo usuário que eu estou logado no Debian.

O que eu preciso fazer no meu sistema de arquivos FUSE para lidar adequadamente com a ação de ejeção de um usuário na interface Debian?

    
por jkt123 30.03.2016 / 01:46

0 respostas