我已经在Ubuntu 14.04上使用Rhythmbox播放iPhone上的音乐已有一段时间了。有时,我会遇到烦人的“初始化iPhone”对话框,但是我只是取消了它,卸载并重新连接手机,问题就解决了。
背景:让事情与iOS 10一起使用
最近,我更新到iOS 10,并且挂载iPhone停止工作。我通过克隆libplist,libimobiledevice,libusbmuxd,usbmuxd和ifuse [注意:ifuse
如果使用gvfs
,似乎没有必要],master
在每个存储库中检出分支并通过安装来解决此问题。
./autogen.sh
make
sudo checkinstall
以便可以通过来管理软件包的版本和依赖项dpkg
。
因为libimobiledevice
我也这样做了,./autogen.sh --disable-openssl
所以我会改用GnuTLS。
因为我原本通过安装这些包的大部分apt-get
,我安装libplist
的dpkg包libplist1
,libimobiledevice
如libimobiledevice4
,和libusbmuxd
作为libusbmuxd2
。echo /usr/local/lib > /etc/ld.so.conf.d/libimobiledevice-libs.conf
当程序抱怨/usr/lib/libimobiledevice.so.4
缺少此类链接时,我也做了一些额外的符号链接。
使gvfs工作
ifuse
现在可以成功安装iPhone,但我的实际目标是gvfs
检测并安装手机,使其能够与Rhythmbox一起使用。我可能需要做一些额外的符号链接gvfs
才能运行相关程序。
如果此时我天真地尝试插入手机,我(很有可能)会收到错误消息Message did not receive a reply (timeout by message bus)
。我必须运行/usr/lib/gvfs-gvfs-afc-volume-monitor
3次以上,直到足够幸运的时候才能安装手机。这似乎是非常错误的。
向sudo usbmuxd -f -v
我发送垃圾邮件,例如
New client on fd 19
Client 19 connection closed
Disconnecting client fd 19
一遍又一遍,再加上一个实例Receive from client fd 19 failed: Connection reset by peer
和Connection reset by device 4 (3->62078)
。基本上,我不知道为什么安装只能间歇性地进行。当我使用时usbmuxd
在前台运行时,事情似乎更常运行-f
,但这可能只是确认偏差。
当我终于做到拿到手机安装,Rhythmbox的将启动并显示“初始化你的iPhone”对话框中,有两个问题:(1)它挂了很长的时间,同时加载该对话框(试图用手机,可能的话,或连接也许Rhythmbox太慢了?)和(2)如果我单击“取消”,我将再也看不到安装在Rhythmbox上的电话。之前,取消一次之后,我可以卸载并重新连接手机,对话框将不再弹出,但是这种方法的可靠性远不如此,因为我无法可靠地安装手机!所以毕竟...
问题
- 我应该从源头着手进行安装吗?
- 如何
gvfs
在第一次尝试时可靠地安装手机? - 我应该停止使用
gvfs
/rhythmbox
并开始使用ifuse
+其他功能吗?