iPhone pod linuxem

Telefony z pod znaku nadgryzionego jabłka nie należą do najłatwiejszych do współżycia pod linuxem i trzeba sobie zdawać z tego sprawę. Nie ma mowy o łatwiej integracji jak przy telefonach z Androidem. Przyjrzyjmy  się dostępnym opcjom.

Wszystko do czego można dobrać się w miarę łatwo na iphonie pod linuxem to: zdjęcia/filmy oraz „katalogi” udostępniane przez niektóre programy, nic ponadto nie da się zobaczyć. iTunes tylko pod virtualboxem.

 

Jeśli chodzi o technikalia to najłatwiej mają użytkownicy Ubuntu 17.10 oraz ci wszyscy, którzy korzystają z Gnoma (Gnome Files) lub menedżera Thunar i mają zainstalowany pakiet  gvfs-afc (lub o podobnej nazwie) odpowiedzialny za obsługę wirtualnych fielsystemów appla. Pakiet ten jest częścią ekosystemu Gnoma.

 

Po podłączeniu telefonu do USB na ekranie telefonu powinno pojawić się pytanie czy chcemy zaufać podłączonemu komputerowi. Potwierdziwszy powinniśmy zobaczyć w menedżerze plików dwa zamontowane urządzenia: jedno o nazwie iPhone zawierające zdjęcia oraz drugie urządzenie zawierające nasze wirtualne katalogi o nazwie: Dokumenty na urządzeniu „nazwa”.

W każdym innym przypadku gdy nie korzystamy z Gnoma lub starszej wersji dystrybucji, chociaż na Plazmie montują się zdjęcia, należy skorzystać z programów konsolowych jakim jest ifuse. Niestety tu pojawia się kolejny problem bo w zasadzie nigdy nie udało mi się uruchomić ifuse bez ręcznego kompilowania pakietów. Na szczęście jest dużo instrukcji i korzystałem z tej: https://gist.github.com/samrocketman/70dff6ebb18004fc37dc5e33c259a0fc która opisuje kompilację i instalację pod Ubuntu 16.04 aczkolwiek kroki z grubsza są podobne dla każdej innej dystrybucji. Pozwolę sobie przekopiować zawartość instrukcji.

 

1) Instalujmy wszystko co niezbędne do kompilacji

sudo apt-get install -y build-essential git

 

2)  Eksportujemy zmienne, jeśli będziemy często korzystać z ifuse warto dodać poniższe linie do osobnego skryptu lub .bashrc gdyż tylko w ten sposób będziemy mogli odwołać się do naszych lokalnie skompilowanych programów i ich bibliotek.

[ ! -d "$HOME/usr/src" ] && mkdir -p "$HOME/usr/src"
export PKG_CONFIG_PATH="${HOME}/usr/lib/pkgconfig:${PKG_CONFIG_PATH}"
export CPATH="${HOME}/usr/include:${CPATH}"

export MANPATH="${HOME}/usr/share/man:${MANPATH}"

export PATH="${HOME}/usr/bin:${PATH}"
export LD_LIBRARY_PATH="${HOME}/usr/lib:${LD_LIBRARY_PATH}"

 

3) Ściągamy pliki źródłowe narzędzi

sudo apt-get install automake libtool pkg-config libplist-dev libplist++-dev python-dev libssl-dev libusb-1.0-0-dev libfuse-dev

 

4) Ściągamy właściwe pliki źródłowe

cd ~/usr/src
for x in libusbmuxd usbmuxd libimobiledevice ifuse; do git clone https://github.com/libimobiledevice/${x}.git;done

 

5)  Kompilujemy libusbmuxd

cd ~/usr/src/libusbmuxd
./autogen.sh --prefix="$HOME/usr"
make && make install

 

6) Kompilujemy libimobiledevice

cd ~/usr/src/libimobiledevice
./autogen.sh --prefix="$HOME/usr"
make && make install

 

7) Kompilujemy usbmuxd

cd ~/usr/src/usbmuxd
./autogen.sh --prefix="$HOME/usr"
make && sudo make install

 

8) Kompilujemy ifuse

cd ~/usr/src/ifuse
./autogen.sh --prefix="$HOME/usr"
make && make install

 

9) Tworzymy katalog do montowania i sprawdzamy czy pliki ifuse i idevicepair wskazują na nasze skompilowane wersje

mkdir -p ~/usr/mnt

type -P ifuse

type -P idevicepair

 

10)  Podłączamy iPhona, parujemy urządzenie (ekran musi być odblokowany) i montujemy

idevicepair pair

SUCCESS: Paired with device 37b633350ab83dc815a6a97dcd6d327b12c41968

 

ifuse ~/usr/mnt/
ls ~/usr/mnt/

 

Odmontowanie: fusermount -u ~/usr/mnt