Od jakiegoś czasu korzystam z Rhythmbox na Ubuntu 14.04 do odtwarzania muzyki z mojego iPhone'a. Czasami pojawia się irytujące okno dialogowe „Zainicjuj swój iPhone”, ale po prostu je anuluję, odmontowuję i ponownie podłączam telefon, a problem został rozwiązany.
Tło: Pierwsze kroki z iOS 10
Ostatnio zaktualizowałem system iOS 10, a montaż iPhone'a przestał działać. W jakiś sposób to naprawiłem , klonując libplist , libimobiledevice , libusbmuxd , usbmuxd i ifuse [uwaga: ifuse
nie wydaje się konieczne, jeśli używasz gvfs
], sprawdzając master
gałąź w każdym repozytorium i instalując za pośrednictwem
./autogen.sh
make
sudo checkinstall
dzięki czemu można zarządzać wersjami pakietów i zależnościami dpkg
.
Dla libimobiledevice
mnie też nie ./autogen.sh --disable-openssl
tak, że ja zamiast używać GnuTLS.
Ponieważ pierwotnie instalowałem większość tych pakietów za pośrednictwem apt-get
, zainstalowałem libplist
jako pakiet dpkg libplist1
, libimobiledevice
as libimobiledevice4
i libusbmuxd
as libusbmuxd2
. Zrobiłem to echo /usr/local/lib > /etc/ld.so.conf.d/libimobiledevice-libs.conf
i dodałem dodatkowe dowiązania symboliczne, gdy programy narzekały na to /usr/lib/libimobiledevice.so.4
i takie brakowało.
Uruchomienie gvfs do pracy
ifuse
teraz z powodzeniem zamontuje iPhone'a, ale moim prawdziwym celem jest gvfs
wykrycie i zamontowanie telefonu, aby działał z Rhythmbox. Zapomniałem, że mogłem potrzebować dodatkowego symlinkowania, aby nawet uruchomić powiązane gvfs
programy.
Jeśli naiwnie spróbuję podłączyć telefon w tym momencie, (z dużym prawdopodobieństwem) otrzymuję komunikat o błędzie Message did not receive a reply (timeout by message bus)
. Muszę biegać /usr/lib/gvfs-gvfs-afc-volume-monitor
ponad 3 razy, dopóki nie będę mieć szczęścia, aby telefon się zamontował; to wydaje się bardzo złe.
Uruchamianie sudo usbmuxd -f -v
wysyła mi wiadomości takie jak
New client on fd 19
Client 19 connection closed
Disconnecting client fd 19
w kółko, plus przykład Receive from client fd 19 failed: Connection reset by peer
i Connection reset by device 4 (3->62078)
. Zasadniczo nie mam pojęcia, dlaczego montaż działa tylko sporadycznie. Wydaje się, że rzeczy działają częściej, gdy biegam usbmuxd
na pierwszym planie -f
, ale to może być tylko uprzedzenie potwierdzające.
Kiedy w końcu zrobić dostać telefon do montażu, Rhythmbox uruchomi i wyświetli okno „zainicjować iPhone”, z dwoma problemami: (1) wisi na długi czas podczas ładowania tego okna (próby połączenia z telefonu, ewentualnie, czy może Rhythmbox jest po prostu bardzo wolny?) i (2) jeśli kliknę „anuluj”, nie będę już widzieć telefonu zamontowanego na Rhythmbox. Przedtem, po jednokrotnym anulowaniu, mogłem odmontować i ponownie podłączyć telefon, a okno dialogowe nie pojawiało się, ale ta metoda jest znacznie mniej niezawodna, ponieważ nie mogę niezawodnie zamontować telefonu! Po tym wszystkim ...
pytania
- Czy istnieje „bardziej poprawny” sposób, w jaki powinienem był przejść do instalacji ze źródła?
- Jak mogę
gvfs
niezawodnie zamontować telefon przy pierwszej próbie? - Czy powinienem przestać używać
gvfs
/rhythmbox
i zacząć używaćifuse
+ czegoś innego?