天天看点

Linux 中如何挂载 iPhone 外部设备

  How to Mount Your iPhone as an External Drive in Linux

Linux 中如何挂载 iPhone 外部设备

  常用Linux和iPhone的朋友们,或许有个疑问,就是在Linux中该如何挂载我的iPhone设备呢?首先,博主可以肯定的回答是: 基本上,带有桌面环境的Linux,只要接USB取得iPhone信任,就能进行IOS和Linux的数据交互的:

Linux 中如何挂载 iPhone 外部设备
Linux 中如何挂载 iPhone 外部设备
Linux 中如何挂载 iPhone 外部设备

  但倘若Linux未自动识别iPhone设备时,我们又该怎么办呢?别着急,博主这就为你解答,顺便做个笔记,以便自己遗忘时回顾。

  一、Debian 系的Linux(Ubuntu,Kali):

  方法 1 :libimobiledevice ①

  首先安装ibimobiledevice,允许Linux操作系统和IOS设备进行交互:

sudo apt -y install libimobiledevice6 libimobiledevice-utils
           

  安装 libimobiledevice 后,尝试连接你的 iPhone。如果你的 iPhone 文件系统在连接时没有自动挂载,您可能需要配对您的 iPhone。打开终端并输入:

idevicepair pair
           
Linux 中如何挂载 iPhone 外部设备

  配对成功后,允许iPhone和Linux建立多个连接:

usbmuxd -f -v	
(	一般有GNOME等桌面环境的Linux,在安装有libimobiledevice驱动后就会自动读取iPhone的,
	若未自动读取时,可运行该命令来手动建立连接,当然,你的iPhone首先得信任该电脑。)
           
Linux 中如何挂载 iPhone 外部设备

   若运行usbmuxd命令时,出现如下报错:

C:\root> usbmuxd -f -v
[16:05:55.915][3] usbmuxd v1.1.1 starting up
[16:05:55.915][1] Another instance is already running (pid 1990). exiting.
           

   则说明你的iPhone其实已挂载在电脑了,或许是未显示出来,也可能你没留意到,杀掉占用的进程,重启即可:

kill -9 1990 && usbmuxd -f -v
           
Linux 中如何挂载 iPhone 外部设备

   运行了这些命令后仍无法连接到iPhone,则建议改用其他方式来手动连接。

   方法 2:安装 iFuse ②

  Debian系的Linux软件源中是有iFuse工具的deb包的,直接安装即可:

apt-get install ifuse -y 
  (或许在你Ubuntu或Kali上有依赖问题。)
           

  首先,进行iPhone和Linux的配对:

idevicepair pair 
	(若出现配对错误,重启后重新配对,要记得让iPhone信任该Linux。)
           

  配对成功后,手动挂载:

sudo mkdir /media/iphone (也可自定义路径)
	ifuse /media/iphone
           

  此时,就可以找到你挂载的iPhone设备了。安全卸载时:

ifuse -u /media/iphone
           

  需特别强调:iFuse挂载的方式,是更适合于无桌面环境纯命令模式的Linux的,

  所以,桌面环境的小伙们就不必折腾了!!

  二、RedHat 系的Linux(RedHat、CentOS):

  不同与Debian系Linux的是,在CentOS上是自带libimobiledevice包的,也就是说,在桌面环境下的CentOS中,用USB数据线直连,取得iPhone信任,就可以进行基本的数据交换了。

Linux 中如何挂载 iPhone 外部设备

  如果接入数据线,取得信任后,在Centos中仍无反应,则运行:

usbmuxd -f -v
	若显示Another instance is already running (pid ****). exiting.
	杀掉占用进程重启即可:
	kill -9 (占用进程的pid号) && usbmuxd -f -v
           

  个人觉得,唯一美中不足的是,CentOS原带视频解读器对部分视频文件无法读取,所以,博主建议安装SMplayer和VLC软件来解决:

  由于yum源中是无SMplayer和VLC等软件包的,所以,我们采用添加第三方软件源的方式安装(安全,请放心使用)。

  第 1 步:安装 nux-dextop 软件库:

yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
           

  第 2 步:安装 adobe 软件库:

yum -y install http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
           

  第 3 步:正式安装视频播放器:

yum install vlc smplayer ffmpeg HandBrake-{gui,cli} 
	
	注:HandBrake是视频解码器
           

  如若需要可再添加某类媒体所需的解码器及译码器:

yum install libdvdcss gstreamer{,1}-plugins-ugly \
	gstreamer-plugins-bad-nonfree gstreamer1-plugins-bad-freeworld
	
	需特别提醒:在某些地区它们的应用或许受法律限制。要是你不熟识你的当地法例,请取得法律意见。
           

  安装完毕即可观看了:

Linux 中如何挂载 iPhone 外部设备

  很遗憾,iFuse工具是没有CentOS的rpm包的,只有src.rpm编译安装包,编译安装是相当费劲的,因此,博主就不再介绍CentOS上该如何使用iFuse挂载iPhone了,推荐使用libimobiledevice。

   注释:

  ① libimobiledevice:或许有小伙伴不了解libimobiledevice包,那么,简单的介绍一下吧:libimobiledevice又称libiphone,是一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备。 由于 苹果官方并不支持Linux系统,这事儿Linux大佬能忍?因此就有人逆向出iOS设备与Windows/Mac Host接口的通讯协议,最终成就了横跨三大桌面平台的非官方版本USB接口library,Libimobiledevice 可让你访问设备和内部存储的系统信息。

  经常用Linux系统的人一定对libimobiledevice不陌生,但是许多Windows和Mac用户也许就不知道了。 事实上,它同 iTools 一样,都是可以替代iTunes,进行iOS设备管理的工具

  就像搞安卓开发的小伙伴们常用的adb调试命令一样,idevice 也有着对IOS的相关调试命令,具体读者可移步了解: 【IOS】libimobiledevice常用命令、 [Libimobiledevice官网]

(https://libimobiledevice.org/) 。

  ② iFuse:

Linux 中如何挂载 iPhone 外部设备
Linux 中如何挂载 iPhone 外部设备

  由此可知,iFuse是利用FUSE文件系统原理,专为IOS设计的,无需越狱就可读取数据的驱动器。

继续阅读