우분투 아이폰 아이패드 연결 충전


우분투 아이폰 아이패드 연결 충전
우분투에서 아이폰 인식 아이패드 등의 iOS 기기를 연결하여 Document로 자료를 복사하는 등 아이튠즈없이 우분투 아이폰 음악 넣기, 우분투 아이패드 USB 충전 방법에 대해서 설명드리도록 하겠습니다. 우분투 설치 방법은 다음 글을 참고해 주시기 바랍니다.

우분투 18.04 설치

환경

테스트에 사용된 기기는 iPad Air2으로 iOS 11.3 의 최신 버전에서 테스트되었습니다. 그리고 우분투 16.04 에서 테스트되었지만 상위버전에서도 사용가능 할 것으로 생각됩니다.

iOS 기기 연결

소스코드 빌드 및 설치

$ sudo apt-get install git build-essential automake libtool libusbmuxd-dev libusbmuxd-tools libplist-dev libpython-dev libssl-dev libgcrypt-dev libplist++-dev libfuse-dev pkg-config

먼저 위의 명령어로 빌드에 필요한 패키지 목록을 설치합니다. 그리고 위의 명령어를 실행하여 소스코드를 다운로드 받고 빌드 설정을 합니다.

$ git clone https://github.com/libimobiledevice/libimobiledevice ~/libimobiledevice
$ cd ~/libimobiledevice && ./autogen.sh

빌드 내용이 성공적으로 설정되게 되면 아래와 비슷한 내용의 결과가 나타날 것입니다.

Configuration for libimobiledevice 1.2.1:
-------------------------------------------

  Install prefix: .........: /usr/local
  Debug code ..............: no
  Python bindings .........: no
  SSL support backend .....: OpenSSL

  Now type 'make' to build libimobiledevice 1.2.1,
  and then 'make install' for installation.

그리고 아래의 명령어를 실행하여 소스코드를 빌드한 다음에 설치합니다.

$ make && sudo make install

다음은 ifuse 라는 소스코드를 다운 받고, 설정 스크립트를 실행합니다.

$ git clone https://github.com/libimobiledevice/ifuse ~/ifuse && cd ~/ifuse
$ ./autogen.sh

에러 없이 빌드설정이 성공적으로 이뤄지게 되면 아래와 비슷한 내용이 출력되게 됩니다.

Configuration for ifuse 1.1.3:
-------------------------------------------

  Install prefix ..........: /usr/local
  libimobiledevice API ....: 1.2.1

  Now type 'make' to build ifuse 1.1.3,
  and then 'make install' for installation

마지막으로 아래의 명령어를 이용하여 빌드 한뒤에 시스템에 설치하면 됩니다.

$ make && sudo make install

사용방법

먼저 우분투 데스크탑 환경일 경우, USB를 iOS 장치와 연결하면 아래와 같이 자동으로 인식되게 됩니다. 쉽게 iOS 장치의 document에 접근하여 음악 넣고 파일 복사하고, 수정하실 수 있으실 겁니다.

iOS 기기 마운트

그리고 ifuse 라는 명령어를 통해서 직접 아이패드 아이폰 마운트 하여 제어하실 수도 있습니다.

$ ifuse --list-apps
com.apple.Pages, "5625", "Pages"
com.microsoft.Office.Word, "2.11.18031202", "Word"
com.apple.Keynote, "5625", "Keynote"
com.microsoft.Office.Powerpoint, "2.11.18031202", "PowerPoint"
com.locnall.kimgisa, "3.14.4", "카카오내비"
com.microsoft.visio, "1.12.18030201", "Visio Viewer"
com.ajidev.mobile.iAnnotate, "3.2.6000", "iAnnotate PDF"
com.apple.mobilegarageband, "4878.17", "GarageBand"
com.microsoft.Office.Excel, "2.11.18031202", "Excel"
com.apple.iMovie, "3709.9.72", "iMovie"
com.devguru.TwomonUSB, "1.2.23", "TwomonUSB"
com.apple.Numbers, "5625", "Numbers"
AVPlayerHD.eplayworks.com, "2114", "AVPlayerHD"

위의 내용은 iOS 기기에 앱 리스트를 출력한 것입니다. AVPlayerHD 라는 앱을 마운트하기 위해서는 아래와 같이 실행합니다.

$ sudo ifuse /mnt --documents AVPlayerHD.eplayworks.com -o nonempty

위의 명령어를 사용하여 특정한 document 를 마운트하여 사용하실 수도 있습니다.

iOS 기기 충전

https://github.com/mkorenkov/ipad_charge

위의 소스코드를 사용해서 우분투에서 아이폰 아이패드 충전 할 수 있는 방법을 설명드리겠습니다.
소프트웨어 이름은 ipad_charge 이지만 iPad 뿐만 아니라 iPhone 등에서도 충전이 가능하다고 설명이 되어있습니다.

먼저 아래의 명령어를 이용하여 빌드에 필요한 패키지를 설치해 주시기 바랍니다.

$ sudo apt-get install libusb-1.0-0-dev

이어서 아래의 명령어로 소스코드를 다운로드 받습니다.

$ git clone https://github.com/mkorenkov/ipad_charge ~/ipad_charge && cd ~/ipad_charge

마지막으로 make 라는 명령어로 빌드하시면 바이너리 파일이 생성된 걸 확인 할 수 있습니다.

$ make
gcc -Wall -Wextra ipad_charge.c -lusb-1.0 -o ipad_charge

iOS 기기를 연결하면 아래와 같이 [충전 중이 아님] 이라는 메시지가 나타납니다.

./ipad_charge

하지만 위의 명령어로 생성된 ipad_charge 파일을 실행하면 아래의 이미지 처럼 충전중인 상태로 변경된 것을 아실 수 있습니다.

만약, 아래와 같은 메시지가 나타나면서 충전 모드로 변경되지 않을경우 마운트된 iOS 기기를 해제 후 다시 실행해 주시기 바랍니다.

ipad_charge: unable to claim interface: error -6
ipad_charge: Resource busy
ipad_charge: error setting charge mode
ipad_charge: no such device or an error occured

( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)