Синхронизация iphone с ubuntu

Как подружить iPhone с Linux

iPhone — общие материалы

Среди поклонников яблочной продукции, я думаю, найдутся и те, кто отдал своё предпочтение Linux. И для них в первую очередь встаёт вопрос, как \»подружить\» iPhone с ПК. Ведь ни для кого не секрет, что ни одна манипуляция с iPhone через кабель не обходится без iTunes — не только медиакомбайна, но ещё и средства для заливки в iPhone музыки, фильмов, фотографий, программ и т.д. Конечно, на Windows и Mac OS X есть и другие, более продвинутые программы, типа iPhone PC Suite или всяких менеджеров файлов, но без Apple-вских драйверов, идущих в комплекте с iTunes, они беспомощны. Но если, установив на свой ПК iTunes, пользователи Windows решают проблему с синхронизацией, то что делать пользователям Linux, для которых Apple даже и не собирается адаптировать iTunes? Именно с этой проблемой столкнулся и я, поклонник Ubuntu и владелец iPhone 3G c прошивкой 3.1.2. После долгих поисков по зарубежным форумам, чтения длинных мануалов и экспериментов, я решился описать свой опыт в этой статье. Хотя все манипуляции проводятся в Ubuntu 9.10, я надеюсь, что и для пользователей других дистрибютивов мой опыт будет полезен.
Синхронизация iPhone через usb-кабель
Начём с самого интересного. Ведь наверняка опытные и не очень пользователи Linux знают способы получения доступа к файловой системе iPhone через wifi или Bluetooth, поэтому рассмотрим этот пункт в конце. Для начала эксперимента нам потребуется установить следующие утилиты и библиотеки: gvfs, gvfs-backends, gvfs-bin, gvfs-fuse, libgvfscommon0, ifuse, libgpod, libiphone-utils, libiphone0, python-iphone, libplist++1, libplist-utils, python-plist, libusb-1.0-0, libusb-1.0-0-udeb, libusbmuxd1, usbmuxd. Пользователи Ubuntu могут найти их в репо https://ppa.ruunchpad.net/pmcenery/ppa/ubuntu . Для этого нужно добавить в /etc/apt/sources.list строку с репо deb https://ppa.ruunchpad.net/pmcenery/ppa/ubuntu karmic main (если, конечно, у вас karmic), либо также можно набрать команду в терминале:

$sudo add-apt-repository ppa:pmcenery/ppa

Далее ставим нужные нам утилиты:

sudo apt-get install gvfs gvfs-backends gvfs-bin gvfs-fuse libgvfscommon0 ifuse libgpod libiphone-utils libiphone0 python-iphone libplist++1 libplist-utils python-plist libusb-1.0-0 libusbmuxd1 usbmuxd

Кроме них нам ещё потребуется libusb-1.0-0-udeb, который зависит от библиотеки libc6-udeb. Эти пакеты конфликтуют с libusb-1.0-0, libc6, поэтому их придётся ставить из deb-пакетов с помощью dpkg с ключом force:

$sudo dpkg -i —force-overwrite libc6-udeb_2.10.1-0ubuntu15_i386.udeb
$sudo dpkg -i —force-overwrite libusb-1.0-0-udeb_1.0.6-1ubuntu0

Скачать эти deb-пакеты можно по ссылке в конце статьи.

Далее редактируем конфиг fuse:

$sudo gedit /etc/fuse.conf

В нём есть два интересующих нас параметра: mount_max (максимальное количество монтирований для пользователей, не входящих в группу root) и user_allow_other (возможность пользователей, не входящих в группу root, монтировать iPhone). Их нужно раскомментировать (т.е. убрать знак решётки). Также можно поставить вместо 1000 монтирований по умолчанию своё значение, например, 1000000.

Сохраняем изменнения и выходим. Далее нам необходимо разрешить своему пользователю монтировать iPhone через fuse. Для этого идём в Система/Администрирование/Пользователи и группы. В открывшемся окошке снимаем блокировку на редактирование записей (маленький замочек). Далее идём в меню Управление группами, находим там fuse, щёлкаем по нему два раза и в открывшемся окне ставим галочку напротив имени своего пользователя. После этого закрываем окно и завершаем свой сеанс либо перезагружаем систему.

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

$ps ax | grep usbmuxd

Эта утилита может не сработать из-под пользователя в том случае, если вы уже экспериментировали с более старыми версиями ifuse, и в директории /etc/udev/rules.d остался конфиг с правилами для usbmuxd. Как раз у меня была такая проблема. В этом случае можно его безболезненно удалить.

Далее смонтируем iPhone уже как съёмный носитель. Для этого надо создать точку монтирования, например,

/mnt/iPhone, и смотировать iPhone через консоль через ifuse. Это можно сделать либо с правами пользователя:

$ifuse /home/user_name/mnt/iPhone [указываем свою точку монтирования]

При этом вы получите доступ только только медиаконтенту в директории /var/mobile/media/. Либо iPhone можно смонтировать правами root, получив полный доступ к файловой системе:

Читайте также:  Apple id что это пример

$ifuse /home/user_name/mnt/iPhone —root

Чтобы отмонтировать iPhone, вводим команду:

$fusermount -u /home/user_name/mnt/iPhone

Для тех, кому лень пользоваться консолью, могу порекомендовать свои скрипты для монтирования/размонтирования с правми root и без них. Скачать их можно по ссылке в конце статьи.

Далее поговорим о работе с музыкой. Это в первую очередь касается пользователей iPod Touch, так как владельцам iPhone всё равно придётся активировать свой аппарат через iTunes после прошивки. В принципе эти действия не обязательны для владельцев джейлбрейкнутых iPod-ов, которые могут слущать музыку через PWNPlayer, смотреть фильмы и картинки через iFile. Но с теми, кто считает, что лучше стандартного Apple-вского софта только стандартный Apple-вский софт либо принципиально не взламывает свои плееры, пойдём дальше. Либо на самом плеере либо с ПК через консоль на примонтированном аппарате без прав root создаём директорию /iTunes_Control/Device/:

$ mkdir /home/user_name/mnt/iPhone/iTunes_Control/Device/ [указываем свою точку монтирования]

Далее нам нужно узнать UUID подсоединённого к ПК плеера:

$sudo lsusb -v | grep -i iSerial

Этот номер состоит из 40 знаков и имеет примерно такой вид: 4946b9a859f5013bdd4785cbfc6ad94092883279.

Далее вводим команду:

Этой командой мы создаём файл iTunes_Control/Device/SysInfoExtended. Убедитель, что созданный plist-файл не пустой. Там должно быть много всякой информации. После этого отмонтируем iPod от ПК:

$ fusermount -u /home/user_name/mnt/iPhone [указываем свою точку монтирования]

Перезагружаем iPod. После перезагрузки мы сможем работать с медиатекой iPod и iPhone через GTKPod, Rhythmbox, Amarok, Songbird и т.д. Из них я тестировал только GTKPod и Rhythmbox. Эти программы вы можете поставить из репозиториев. Мне лично для этих целей понравился Rhythmbox с модулем для работы с iPod (включается в подменю /Правка/Модули), который довольно неплохо организовывает медиатеку, работает с обложками и тегами, причём без тормозов. Кроме того для синхронизации с Rhythmbox монтировать iPhone через ifuse не требуется. GTKPod несколько более урезан по функционалу, но может помимо всего прочего заливать в iPhone картинки, правда только по одной. Для синхронизации с GTKPod iPhone нужно примонтировать без root-овских прав.
Беспроводная синхронизация iPhone
Здесь пойдёт речь только о доступе к файловой системе iPhone через wifi или bluetooth, так как полноценная беспроводная синхронизация пока недоступна. Беспроводной доступ к ФС iPhone можно получить только после джейлбрейка, если не считать всяких костылей вроде Quickoffice. Кроме джейлбрейка нам потребуется OpenSSH, если мы хотим зайти в iPhone через wifi, и iBluetooth -, если через bluetooth. Их можно поставить из Сидии. Для установления wifi-соединения нужно поднять на ПК ad-hoc-соединение, затем зафиксировать и запомнить IP в настройках iPhone. Зайти в iPhone можно через стандартный или любой другой файлменеджер (в Ubuntu это Nautilus), просто зайдя в меню Сетевые соединения, либо введя в адресной строке: sftp://root@ваш_ip. Также можно зайти в iPhone через SSH:

Система запросит ваш пароль, вводим alpine, если не успели ещё сменить. Консольный способ выгоден тем, что iPhone-ом можно управлять при помощи стандартных Unix-команд.
Доступ к ФС iPhone через bluetooth более урезан, но также возможен. Для этого ставим из Сидии iBluetooth и запускаем его. На ПК я рекомендую поставить blueman.

Программы для работы с видео и музыкой

Наверное, многие смотрят видео на iPhone — разрешения 480*320 вполне достаточно для комфортного просмотра фильмов. Но видео приходится конвертировать, так как iPhone поддерживает только mp4. Конечно, есть решения типа yxflash, mplayer или iPhone VLC, которые позволяют смотреть видео в AVI, но всё же поддержка mp4 в iPhone реализована гораздо лучше. Поэтому встаёт вопрос о конвертере. Наиболее мощным видеоконвертером, с моей точки зрения, является Avidemux. Здесь вы найдёте множество настроек, включая самые необходимые, такие как подрезка кадра, управление качеством видео и т.д. Более того в нём есть специальный профиль для iPod, хотя нужное нам разрешение всё же придётся прописывать в фильтрах, так как профиля для iPhone нет. Но я бы не советовал пока пользоваться этой программой — звук она обрабатывает плохо, да и с недавнего времени из-за проблем с кодеками конвертировать видео для iPhone стало невозможно. Вполне приемлемой альтернативой Avidemux-у является mvpod. Скачать mvpod можно на сайте разработчика (см. ссылку в конце). Этот конвертер написан на java, поэтому вам придётся поставить среду Java не ниже версии 1.5, а лучше 1.6, и кодеки gsteamer0.10-plugins-ugly, найти которые можно в репозиториях. mvpod пока находится на фазе beta-тестирования, но в целом работает очень даже неплохо. Интерфейс программы крайне прост. Из настроек есть только разрешение и битрейт, но этого вполне достаточно, чтобы быстро отконвертировать видео.
Ещё одной проблемой являются рингтоны и мелодии для SMS. Рингтоны нужно конвертировать в форматы m4r (AAC), мелодии для SMS — в caf (AIFF). С первой задачей неплохо справляется SoundConverter, со второй — SoundKonverter. В принципе в SoundKonverter-е есть профиль для AAC, но он почему-то не хочет работать. Процесс создания рингтонов аналогичен Windows-вскому: нужно сначала конвертировать мелодию в m4a, а затем исправить расширение готового файла на m4r. Тоже самое и с мелодиями для SMS — только в этом случае нужно поменять расширение с aiff на caf.

Читайте также:  Puffin browser pro iphone

Ну вот, пожалуй, и всё. Жду комментариев от тех, кто смог асилить маи многа букф=)

Источник

Обновляем iPhone через Linux сохранив данные и нервы


Данная статья поведает как обновить iOS и данные на нём для пользователей Linux. На эту тему можно нагуглить как мануалы, так и возникшие проблемы:

Но информация эта весьма разрознена. И не содержит некоторых тонкостей, не учитывая которые можно потерять данные на телефоне (опять же, в этих статьях не сообщается какие данные и в каком случае можно потерять). А в месте с данными — и кучу нервов. Всё это может заставить пользователей новичков Линукса отказаться от его использования для работы с iOS.

Данный мануал — это пошаговая инструкция к счастливому обновлению iOS через Linux используя VirtualBox не потеряв данных.

Дальнейшее повествование тестировалось на связке:

  1. Ubuntu (12.10)
  2. iPhone4 (iOS 5.0.1 up to iOS 6.0.1)
  3. VirtualBox 4.2.6 (с установленной Windows 7 x32).

Хотя, наверняка то же самое будет верно и для iPad.
Внимание, под катом много картинок!

Шаг 1. Настройка VirtualBox

После установки VirtualBox мы должны правильно его настроить. Первое, что мы сделаем — подружим виртуалку с USB 2.0. Это необходимо для правильного распознавания и корректной работы виртуалки с iPhone. Для этого скачаем и установим VirtualBox Extension Pack с этой страницы.

Проверим, что он установился. Зайдите в Файл->Настройки. Должны увидеть что-то типа:

Не забудьте проверить, что текущий пользователь (под которым в Линуксе вы залогинены) включён в группу vboxusers:

Если это не так — добавьте пользователя. Например, вот так я себя добавлял:

Добавление USB фильтров

Следующий шаг нам потребуется для автоматического монтирования iPhone в виртуальную машину. Сначала скажу зачем это нужно. Дело в том, что в процессе обновления iPhone несколько раз переподключается по USB, с разными VID и PID. Из-за этого примонтированный iPhone автоматически не цепляется виртуалкой и начинает открываться в Ubuntu. Если вы всё время обновления iPhone просидите у компа и будете тщательно следить за процессом — у вас есть около минуты чтоб всё исправить: просто снова подцепите к виртуалке iPhone через Устройство->Устройство USB.
А если не успеете… можете наблюдать вот такую картинку:


или вот такую:

а на самом устройстве может появиться вот такая:

Более того, устройство не пожелает выключаться по кнопке выключения (даже если её ну очень долго удерживать). Спасает удерживание 2-х кнопок: выключения и кнопки Home.

Выберите созданную виртуальную машину, зайдите в Настроить->USB и создайте новый фильтр. В поле Производитель вбейте Apple Inc..

После создания этого фильтра iPhone после переподключения будет снова цепляться к виртуалке.

Создание общей папки

В процессе синхронизации устройства с виртуалкой и сохранения резервных копий на самом устройстве, виртуалка начинает непомерно сильно раздуваться. Более того, у VirtualBox мною обнаружилась одна неприятная особенность. Если место на диске с виртуалкой заканчивается — файл конфига бьётся. Это приводит к невозможности вернуться к сохранённым состоянием пока не почините файл конфига. А сделать это может быть очень непросто. Т.е. возникает такое двоякое чувство: вы осознаёте, что данные-то вы не потеряли. Но вернуться к состоянию с этими данными не так уж просто.

Итак, переходим в Настроить->Общие папки, выбираем папку на Ubuntu, куда будут сохраняться данные с iPhone. Указываем в параметрах авто подключение и разрешаем виртуалке полный доступ к папке:

Читайте также:  Ssd для ноутбука apple pro

Шаг 2. Настраиваем виртуалку Windows 7

Описывать установку iTunes не буду. Подразумеваю, что читатель знает это. Если нет — Google легко подскажет. Давайте-ка лучше подумаем вот о чём. Вам хочется постоянно копировать с виртуалки данные устройства после синхронизации в созданную нами общую папку вручную, каждый раз при обновлении и синхронизации? Хорошенечко подумайте! Чувствуете, как появляется лень, которая заставляет вас сказать: «нет, не хочу! Ни за что!». Вот и моя лень солидарна с вашей. А раз так, то давайте автоматизируем это. Благо, делается это до неприличия просто! Создадим символическую ссылку на общую папку, созданную чуть выше. Запускайте командную строчку от администратора и вводите команду:

Здесь your_share_folder — это путь из виртуалки к вашей общей папке с ней. У меня это диск Z.
Желательно эту процедуру сделать ДО установки в виртуалку iTunes. Иначе папка Apple Computer будет уже создана в системе и вам придётся копировать её содержимое, удалять саму папку и вставлять содержимое в созданную символическую ссылку.

Шаг 3. Создание резервной копии и синхронизация iPhone

Ну, вот теперь самое время заняться тем, для чего мы всё это делали. Подключайте iPhone к компьютеру. Убедитесь, что виртуалка его автоматом подцепила. Создайте резервную копию и синхронизируйте данные. Убедитесь, что эти данные попадают в общую папку. Резервные копии будут в общей папке в директории MobileSync\Backup. Теперь займитесь установкой нового ПО на iPhone и обновлением iOS.

Когда и какие данные можно потерять

Т.к. я не сразу поумнел, а набил себе шишек на лоб до понимания что и как нужно делать, то меня всё же коснулась кара и я потерял кое-какие данные. Теперь я могу поделиться с читателями когда это может произойти и какие данные потеряются, а какие сохранятся.

Я сделал резервную копию. При этом я не делал синхронизацию iPhone с виртуалкой. Т.к. я не добавлял USB-фильтры и не имел возможности вовремя переподключить iPhone, то я увидел все те страшные картинки, которые я приводил выше. Здесь я признаюсь читателю, что эти картинки я нагуглил в интернете. Как можно догадаться, я тогда испытывал не самое хорошее психологическое состояние и у меня не было желания делать какие-то скриншоты.

Природный CPU загрузил на 100% два моих ядра-полушария одним процессом: «как спасти данные на телефоне. »

Пытаясь исправить ситуацию, я подключил iPhone с новым VID и PID. iTunes его увидел и выдал мне ещё одно сообщение, не добавляя оптимизма в уже и без того испорченный день:

Делать было нечего, и я согласился. В итоге iOS через минут 20 обновился и мне было предложено восстановить некоторые данные. И в списке была показана как раз та резервная копия, которую я сделал до обновления системы.

Ну, я и согласился. Процесс пошёл… Он длился всю ночь. К утру у меня данные восстановились. Что я восстановил? Проще будет сказать что я потерял: всю музыку, звуковые файлы, закачанные для установки на звонки и приход СМС и приложения с их данными (в яндекс.картах было 3 ГБ карт закачано). Больше потерь я не заметил. Всё остальное было нетронуто:

  • Списки контактов
  • СМС
  • Фотографии и видеоролики, снятые на камеру
  • Заметки
  • Напоминания
  • Настройки беспроводных сетей

Более того, если я всё правильно понимаю, то даже если вы забыли сделать резервную копию перед обновлением iOS, iTunes всё равно её сделает. А чтобы не потерять данные — не забудьте их синхронизировать с виртуалкой.

P.S. В данном туториале я не касался вопроса синхронизации контактов. Контакты синхронизируются в WAB (Windows Address Book) и при указанных шагах настройки, я полагаю, останутся в виртуалке, а не на общей папке в Ubuntu.

UPD 06.04.2020
Пользователь sedyakin написал мне (орфография автора сообщения сохранена):

Хотел бы, чтобы Вы внесли ремарку людям использующим Centos7 (RHEL7), с просьбой отключать selinux во время всех этих манипуляций. Отмучался целый день, не удавалось восстановить iPad (Virtualbox + Win7), в результате обнаружил, что пробрасываемые usb порты блокирует selinux. После отключения, успешно выполнил, что хотел. Я понимаю, что статья довольно старая, но… я попал сюда через google и думаю это будет полезно :))

Источник

Оцените статью