ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как получить доступ к iPhone (6s) с iOS 11 в Linux

Как получить доступ к iPhone (6s) с iOS 11 в Linux

KDE/Plasma постоянно борется с монтированием iPhone и совместимостью с Linux в нескольких дистрибутивах, не видя и/или не монтируя устройство автоматически. Но у нас было относительно аккуратное решение в виде утилит idevice и ifuse, с некоторым взломом командной строки.

С выпуском iOS 11 (и, возможно, одной из версий ранее) ситуация, похоже, несколько изменилась. Вот статья, которая поможет вам обойти это. На данный момент купить iPhone 6s для тестирования можно тут, и мы не сможем гарантировать, что этот метод будет хорошо работать с новыми моделями, но в целом процедура должна быть идентичной для остальной части линейки смартфонов Apple.

Инструменты

Это руководство направлено именно на использование Plasma, однако мы рассмотрим все аспекты. Это применимо во всем диапазоне дистрибутивов. Единственное отличие заключается в подмножестве библиотек и инструментов, которые вам нужно будет установить. Это руководство было скомпилировано для работы с Kubuntu 17.10, поэтому оно работает на любой системы на основе Ubuntu (и, возможно, даже Debian).

Давайте начнем с необходимых дополнений. Ничего особенного

sudo apt-get install ideviceinstaller python-imobiledevice libimobiledevice-utils libimobiledevice6 libplist3 python-plist ifuse usbmuxd

 

Подключить iPhone

Следующим шагом является подключение вашего устройства и убедитесь, что оно распознается. Вы можете проверить это с помощью dmesg и найти вывод, похожий на этот:

[ ] usb 2-3: new high-speed USB device number 4 using ehci-pci
[ ] usb 2-3: New USB device found, idVendor=05ac, idProduct=12a8
[ ] usb 2-3: New USB device strings: Mfr=1, Product=2 ...
[ ] usb 2-3: Product: iPhone
[ ] usb 2-3: Manufacturer: Apple Inc.
[ ] usb 2-3: SerialNumber: 42aed16e758bde7cb268 ...
[ ] ipheth 2-3:4.2: Apple iPhone USB Ethernet device attached
[ ] usbcore: registered new interface driver ipheth

 

Открытая консоль

Теперь давайте попробуем команду pair — которая, скорее всего, потерпит неудачу:

Как получить доступ к iPhone (6s) с iOS 11 в Linux

idevicepair pair
No device found, is it plugged in?

 

Затем вам нужно выполнить команду usbmuxd. Это демон сокетов для мультиплексирования соединений с и на устройства iOS. Обычно он должен работать в качестве фоновой службы, которую мы включим позже, но сейчас откроем отдельный терминал и в качестве sudo или root запустите:

usbmuxd -f -v

 

Консоль должна заполняться текстом, что хорошо. Теперь, в отдельном окне консоли, давайте вернемся к попытке сопряжения устройства. Как и прежде, нам нужно будет разблокировать iPhone и доверить ноутбук:

idevicepair pair
SUCCESS: Paired with device 421c580dfa7ba121f591b1aed14a657bde7cb268

 

Смонтировать устройство

Теперь создайте точку монтирования, что-то вроде media/iPhone. Сделайте его доступным для всех с помощью chmod 777 или сделайте своего пользователя владельцем каталога, чтобы вы могли получить к нему доступ без полномочий root в файловом менеджере. Затем смонтируйте с помощью ifuse:

sudo mkdir /media/iPhone
sudo chown <your user>:<your group> /media/iPhone
ifuse /media/iPhone/

 

Откройте файловый менеджер (Dolphin) и перейдите к точке монтирования.

Как получить доступ к iPhone (6s) с iOS 11 в Linux

Для облегчения доступа в будущем вы можете перетащить ярлык местоположения на боковую панель и даже добавить собственный значок и/или имя. Затем, каждый раз, когда вы монтируете iPhone, вы можете легко зайти туда, и если устройство не подключено, никакого вреда не будет.

Как получить доступ к iPhone (6s) с iOS 11 в Linux

Как получить доступ к iPhone (6s) с iOS 11 в Linux

 

Вы можете написать скрипт процедуры монтирования и размонтирования, если хотите. Аналогично, то же самое относится и к службе usbmuxd, которую вы, возможно, захотите запустить в своей системе. Вы можете включить его при запуске — и если вы получите некрасивую ошибку systemd, то просто «запускайте» ее вручную, когда это необходимо, или каждый раз, когда рабочий стол регистрирует настройки Plasma.

systemctl enable usbmuxd
systemctl start usbmuxd

 

Другие дистрибутивы и системы

Чтобы увидеть, является ли Plasma еще и iPhone 6s, протестировали несколько других дистрибутивов, в том числе Ubuntu 17.10 , Linux Mint Sarah и устаревшую Fedora 25 Gnome. Все это обрабатывало устройство и iOS 11 без проблем. В Mint пришлось размонтировать, а затем перемонтировать телефон, сделав его доверенным, но это все.

Как получить доступ к iPhone (6s) с iOS 11 в Linux

Как получить доступ к iPhone (6s) с iOS 11 в Linux

Как получить доступ к iPhone (6s) с iOS 11 в Linux

Как получить доступ к iPhone (6s) с iOS 11 в Linux

 

Эта непослушная ошибка скоро уходит.

Как получить доступ к iPhone (6s) с iOS 11 в Linux

 

Заключение

Нет технической причины, по которой Plasma не должна поддерживать iPhone «из коробки», учитывая, что ручной процесс работает. И да, всегда есть вероятность, что Apple может что-то изменить в своих устройствах или протоколе и нарушить это, но на данный момент, похоже, все работает нормально, и рабочие столы, не являющиеся KDE, в значительной степени справляются с этим. Plasma тоже должна вступить в партию. Волшебное слово: авто-монтирование.

Эта статья должна помочь вам. Правда, скомпилировано для семейства Ubuntu, но принцип идентичен по всем направлениям. Получить соответствующие библиотеки, получить usbmuxd, запустить команды, и все. Если вы испытываете трудности, независимо от среды вашего рабочего стола, вы сможете достичь желаемых результатов, используя метод, описанный выше. Мы надеемся, что вы найдете это руководство полезным. Оставайтесь с нами.

Exit mobile version