web-dev-qa-db-fra.com

L'iPhone ne se démonte pas correctement lorsqu'il est débranché

J'utilise Ubuntu 14.10 sur mon netbook, et je connecte mon iPhone via un câble USB pour qu'il se fixe et que je puisse accéder à Internet. Tout cela fonctionne comme prévu.

Le problème est que lorsque l'iPhone est débranché du câble USB, il ne se démonte pas correctement, donc lorsque l'iPhone est ensuite branché, une boîte de message apparaît avec le texte suivant:

Impossible de monter l'iPhone
L'emplacement est déjà monté

Débrancher et rebrancher mon iPhone tout au long de la journée entraîne l'apparition de nombreuses boîtes de message.

La sortie de mount lorsque l'iPhone est branché comprend les éléments suivants:

gvfsd-Fuse on /run/user/1000/gvfs type Fuse.gvfsd-Fuse

Cette ligne est toujours là après que l'iPhone est débranché. Si je démonte manuellement cet emplacement, le message n'apparaît PAS lors de la prochaine connexion de l'iPhone:

Sudo umount /run/user/1000/gvfs

Existe-t-il un moyen (peut-être via udev) d'automatiser cela?

1
TobyLL

J'ai trouvé un moyen d'automatiser cela. Le problème était que gvfs-mount -l montrait toujours une monture (afc://<iPhone_serial_number>/) même après avoir débranché l'iPhone. C'est cette monture qui a déclenché le message Impossible de monter l'iPhone lorsque l'iPhone a été rebranché. Cette monture a été fournie par le gvfsd-afc backend gvfs. Tuer gvfsd-afc supprime le support.

Pour que udev le fasse automatiquement lorsque l'iPhone est débranché, créez un fichier /etc/udev/rules.d/99-iphone-umount.rules et ajoutez ce qui suit:

SUBSYSTEM=="usb", ACTION=="remove", ENV{ID_MODEL}=="iPhone", RUN+="/usr/bin/killall -s SIGINT /usr/lib/gvfs/gvfsd-afc"

Exécutez ensuite Sudo udevadm control --reload-rules pour que udev charge la nouvelle règle.

2
TobyLL