J'utilise Rhythmbox sur Ubuntu 14.04 pour lire de la musique à partir de mon iPhone depuis un certain temps. Parfois, la boîte de dialogue "initialiser votre iPhone" vous ennuie, mais je viens de l'annuler, de démonter et de reconnecter mon téléphone, et le problème est résolu.
Arrière-plan: Travailler avec iOS 10
Récemment, j'ai mis à jour iOS 10 et le montage de l'iPhone a cessé de fonctionner. J'ai en quelque sorte corrigé cela en clonant libplist , libimobiledevice , libusbmuxd , usbmuxd et ifuse [note: ifusecela ne semble pas nécessaire si vous utilisez gvfs], en vérifiant la masterbranche dans chaque dépôt, et en installant via
./autogen.sh
make
sudo checkinstall
afin que les versions de paquet et les dépendances puissent être gérées via dpkg.
Car libimobiledevicej’ai aussi fait en ./autogen.sh --disable-opensslsorte que j’utilise plutôt GnuTLS.
Parce que j'avais initialement installé la plupart de ces paquets via apt-get, j'ai installé libplistcomme paquet dpkg libplist1, libimobiledevicecomme libimobiledevice4, et libusbmuxdque libusbmuxd2. J'ai également fait echo /usr/local/lib > /etc/ld.so.conf.d/libimobiledevice-libs.confet quelques liens supplémentaires lorsque les programmes se sont plaints que /usr/lib/libimobiledevice.so.4et tels manquaient.
Faire fonctionner les gvfs
ifuseJe vais maintenant monter l'iPhone avec succès, mais mon objectif actuel est gvfsde détecter et de monter le téléphone afin qu'il fonctionne avec Rhythmbox. J'ai peut-être eu besoin de faire des liens symboliques supplémentaires pour même que les gvfsprogrammes liés fonctionnent, j'oublie.
Si j'essaie naïvement de brancher mon téléphone à ce stade, je reçois (avec une probabilité élevée) le message d'erreur Message did not receive a reply (timeout by message bus). Je dois courir /usr/lib/gvfs-gvfs-afc-volume-monitorplus de 3 fois jusqu'à ce que je sois assez chanceux pour pouvoir monter le téléphone; cela semble très faux.
Courir sudo usbmuxd -f -vme spamme avec des messages comme
New client on fd 19
Client 19 connection closed
Disconnecting client fd 19
encore et encore, plus une instance de Receive from client fd 19 failed: Connection reset by peeret Connection reset by device 4 (3->62078). En gros, je ne sais pas pourquoi le montage ne fonctionne que par intermittence. Les choses semblent fonctionner plus souvent lorsque je me mets usbmuxdau premier plan -f, mais il se peut que ce soit juste un biais de confirmation.
Quand enfin je fais obtenir le téléphone pour monter, Rhythmbox démarre et affiche la boîte de dialogue « initialiser votre iPhone », avec deux problèmes: (1) il se bloque pendant longtemps lors du chargement de cette boîte de dialogue (essayez de vous connecter avec le téléphone, peut - être, ou peut-être que Rhythmbox est simplement ultra lent?) et (2) si je clique sur «annuler», je ne peux plus voir le téléphone monté sur Rhythmbox. Avant, après avoir annulé une fois, je pouvais démonter et reconnecter mon téléphone et le dialogue ne s'ouvrirait plus, mais cette méthode est beaucoup moins fiable car je ne peux pas monter mon téléphone de manière fiable! Donc après tout ça ...
Des questions
- Existe-t-il une manière "plus correcte" que j'aurais dû traiter les installations depuis la source?
- Comment puis-je
gvfsmonter mon téléphone de façon fiable du premier coup? - Devrais-je arrêter d'utiliser
gvfs/rhythmboxet commencer à utiliserifuse+ quelque chose d'autre?