LXF115:Синхронизация мобильных устройств

Материал из Linuxformat.

Перейти к: навигация, поиск

Содержание

Синхронизация с мобильниками

Заставить мобильные телефоны и КПК работать с Linux всегда было сродни черной магии. Грэм Моррисон зажигает огонь, что поможет вам выйти из сумрака.

Cинхронизация с мобильными устройствами в Linux имеет долгую историю, в основном полную бед: одно устройство не синхронизируется, другое не работает, и так по кругу. Проблема в том, что протоколы и приложения, применяемые в большинстве устройств для взаимодействия с другими, хранятся в строгом секрете, и при попытке написать открытый клиент нужно декодировать эти протоколы бит за битом, а затем бежать впереди любых изменений. К счастью, новые и более открытые платформы, вроде Google Android, свежеопубликованный код Symbian или Qt, означают, что будут созданы приличные открытые протоколы, облегчающие мучения пользователей Linux с совместимостью устройств.

Пусть преамбула и полна негатива, но с недавних пор дела обстоят куда лучше. На сегодня работоспособные и доступные решения уже есть. Правда, они несколько беспорядочны и напоминают солянку из приложений Gnome и KDE, но использовать их можно, и мы собираемся показать, как. Устройства, которыми мы займемся, работают под Windows Mobile версий 5 или 6, и для простой синхронизации мы применим USB-подключение. На наш взгляд, это наиболее распространенная конфигурация, применяемая владельцами смартфонов, а устройства Nokia и Blackberry легко приспосабливаются к ней при смене движка синхронизации (об этом ниже). Возрождение мобильной синхронизации многим обязано двум последним версиям дистрибутива Mandriva. Релизы 2008 и 2009 гордо обещали обеспечить синхронизацию настольных настроек с мобильными устройствами Windows, и Mandriva потратила на это немало усилий. Разработчики удалили старый демон odccm, поддерживавший соединения с устройствами Windows Mobile, и заменили его на synce-hal, управляющий автоматическим подключением и отключением девайсов.

Мерси, месье

Разработчики Mandriva также внедрили в свою схему синхронизации поддержку Blackberry, то есть подключение устройств Blackberry без особых проблем пройдет по процедуре для Windows Mobile. И если для вас или вашей работы важна синхронизация с мобильными устройствами, рекомендуем установить Mandriva Linux One 2009. Установка и настройка относительно просты, и вам гарантирована забота на будущее, поскольку Mandriva, похоже, серьезно занялась поддержкой синхронизации.

Если вы не любитель менять дистрибутивы, то все равно можете создать рабочую конфигурацию – разве что времени уйдет побольше. Метод Mandriva мы приняли за основу, но заодно опишем установку для пользователей Ubuntu/Debian. У нас не ушло много труда, чтобы настроить синхронизацию на обеих системах, а процессы эксплуатации после этого практически одинаковы.

Шаг 1: Подготовка

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

Работа этого перенаправления полностью зависит от модулей расширения – плагинов. Устройство Windows Mobile, например, требует модуля Windows Mobile, а если вы используете для контактов и событий Evolution, для работы с данными вам потребуется расширение Evolution. Благодаря этому OpenSync чрезвычайно легко модифицировать. Теоретически, для добавления нового устройства требуется только плагин. Для существующих гаджетов их уже написано великое множество, в том числе, для Windows Mobile, Nokia Symbian, Blackberry и Palm. Но OpenSync еще и гибок: нигде не сказано, что синхронизация должна проводиться непременно между мобильником и персональным органайзером. Одно из распространенных применений OpenSync – это сопряжение плагина Google Calendar с одной стороны и расширения Evolution с другой, чтобы события, добавленные в ваш сетевой Google Calendar, появлялись также в Evolution – и наоборот.

Убедитесь, что в вашем устройстве Windows Mobile 6 включен RNDIS. Это те «расширенные сетевые функции», на которые ссылается страница настроек USB to PC.

Но прежде чем зарыться в детали установки, одно предупреждение. Обязательно зарезервируйте данные с вашего мобильного устройства. Вероятность, что вдруг что-то пойдет не так, велика, а вы вряд ли захотите остаться с телефоном, но без связи с друзьями. В процессе подготовки этой статьи, наша первая синхронизация отослала пустое содержимое из календаря и базы данных контактов Evolution на наш коммуникатор Windows Mobile, полностью стерев все персональные данные! И не забудьте установить свое устройство Windows Mobile в режим RNDIS. В нашем смартфоне так было по умолчанию, а вы можете проверить, включен ли он, установив галочку Расширенные сетевые функции [Enhanced Network Functionality] на странице Пуск > Настройки > Подключения > Настройки USB.

Шаг 2: Установка пакетов

Palm’а первенства

Если вам повезло прочесть нашу статью до покупки мобильного телефона или КПК, рекомендуем приглядеться к гаджетам, работающим под управлением Palm OS. Они давным-давно устарели, преимущественно монохромны и не дотягивают до стандартов сегодняшнего дня, но превосходный дизайн Palm завоевал массу поклонников, причем приобрести устройства можно за бесценок.

Самое приятное, что благодаря их возрасту и зрелости, они отменно работают с Linux. Просто установите пакет JPilot. Это свободная программа, воссоздающая приложения Windows и Mac, поставлявшиеся с Palm. Она автоматически определит ваше устройство, а также синхронизирует список контактов и календарь, выполнит резервирование данных и установит программы. Если вы пользователь KDE, взгляните на KPilot. Он делает то же самое, и может синхронизировать ваши данные на Palm со стандартным PIM-пакетом KDE 3. Нам даже показалось, что KPilot стабильнее, чем JPilot.

По завершении резервирования и настройки устройства, следующий шаг – установка программ. Хотя Mandriva – дистрибутив с явным упором на KDE, здесь имеются решения и для Gnome. Версии основного графического интерфейса синхронизации для KDE 4 пока нет, и синхронизация данных работает только с приложениями PIM эры KDE 3. Mandriva даже рекомендует графический интерфейс KDE 3 по имени KitchenSync для пользователей и KDE, и Gnome – он более функционален, чем его Gnome-конкурент (Multisync).

Откройте стартовое меню Mandriva и найдите в нем пункт Установка и удаление программ. Появится окно менеджера приложений; найдите пакет task-wm5sync-gnome и установите его. Префикс 'task', который Mandriva добавляет к некоторым пакетам, означает, что это на самом деле мета-пакеты, и они установят много других. Пользователям KDE нужно добавить task-wm5sync-kde, а затем пользователи обоих рабочих столов должны инсталлировать KitchenSync. Это приложение обеспечит трансляцию данных на ваше устройство. Если вы не желаете устанавливать ворох библиотек KDE 3, сопровождающих KitchenSync, попробуйте Multisync.

Пользователям Ubuntu надо открыть Synaptic и установить syncesync-engine, synce-trayicon, synce-hal и либо synce-kdm для KDE, либо synce-gdm и synce-gnomevfs для Gnome. Добавление пакета vfs позволит просматривать содержимое вашего мобильного устройства в файловом менеджере Nautilus. Для последнего релиза Ubuntu нет пакета KitchenSync, и вместо него придется инсталлировать Multisync.

Также необходимо установить все компоненты OpenSync, который вы собираетесь использовать. Как говорилось выше, OpenSync – это диспетчер процедуры синхронизации, а набор модулей зависит от ваших приложений и устройств. Например, если ваш почтовый клиент – Evolution, установите только opensync-plugin-evolution. Mandriva устанавливает базовый набор по умолчанию, но мы рекомендуем следующее (в Mandriva названия пакетов предваряются lib):

opensync-plugin-synce
opensync-plugin-file
opensync-plugin-evolution
opensync-plugin-sunbird
opensync-pluginkdepim
opensync-plugingooglecalendar

Вдобавок вам может понадобиться barry-opensync для устройств Blackberry, opensync-plugin-palm для Palm или opensync-plugin-opie для Open Palm.

Шаг 3: Создание контакта

Скорая помощь

Если OpenSync не работает, лучший способ получить информацию о неполадках – командная строка. Введите msynctool --sync group_name, заменив group_name именем вашей группы, и вы увидите поток вывода, когда OpenSync пытается выполнить синхронизацию. Так будет легче отследить проблемы.


Теперь все установлено, осталось только выполнить некоторые действия в должном порядке. Пользователям Mandriva будет немного проще: им надо лишь запустить апплет панели инструментов для рабочего стола – после этого все можно будет найти в меню Инструменты. Апплет Gnome появляется в виде маленькой иконки КПК в вашем системном лотке, а KDE-шный выглядит как зеленый логотип ActiveSync для устройств Windows Mobile. Пользователям Ubuntu придется сначала вручную запустить процесс synce-sync-engine, а потом выбранный графический менеджер – synce-kdm или synce-gdm, введя соответствующую команду в консоли. В Mandriva этот шаг выполняется автоматически, а пользователи Ubuntu должны добавить задание synce-sync-engine в свойства сессии, чтобы оно запускалось при каждой загрузке.

Пришло время подключить устройство. После этого и телефон, и компьютер должны распознать соединение автоматически. Графический менеджер обновится, отобразив параметры подключенного устройства, и на рабочий стол добавится ярлык для него. И приложения Gnome, и приложения KDE умеют отображать статус подключения устройства – на странице Информация о системе [System Information] менеджера КПК в KDE или в окне Статус устройства [View Device Status], доступном в контекстом меню апплета Gnome. Если ваше устройство не обнаружено, проверьте, запущен ли synce-sync-engine. Когда SynCE распознает ваш смартфон, его имя появится в окне устройств; если же SynCE работает, а устройство не найдено, следует вручную перезапустить ActiveSync на вашем коммуникаторе.

Если статус ActiveSync корректен, а устройство все-таки не обнаруживается, то, возможно, причина в брандмауэре. Вы скажете, что брандмауэр – странный кандидат на авторство проблем с синхронизацией, но суть в том, что включенный на мобильнике режим RNDIS превращает ваш телефон во временное сетевое устройство. Вот почему настройки брандмауэра могут останавливать поступающие с него пакеты.

Можно сразу же проверить, блокируются ли пакеты, посмотрев содержимое файла-журнала messages. Введите tail /var/log/messages для просмотра последних нескольких строк файла. Если вы увидите нечто вроде [UFW BLOCK INPUT]: IN=eth1 OUT=MAC=80:00:60... PROTO=TCP SPT=1104 DPT=990, то пакеты не проходят. В данном конкретном примере пакеты, предназначенные для порта 990 (DPT=990), блокируются брандмауэром UFW.

Простейшее решение – взять да отключить брандмауэр. Это неплохая идея, если вы находитесь за другим межсетевым экраном – например, встроенным в маршрутизатор; но если нет, то хорошего тут мало. Пользователи Mandriva могут выключить свой брандмауэр на странице Безопасность Центра управления Mandriva Linux. Нажмите Настройка брандмауэра и установите галочку Ко всем. Пользователи Ubuntu могут сделать это в командной строке, введя sudo ufw disable. Если же вы предпочитаете держать свой брандмауэр включенным, то для обеспечения взаимодействия компьютера с устройством Windows Mobile откройте для SynCE следующие TCP-порты: 990, 999, 5678, 5721 и 26675.

Шаг 4: Используем соединение

Без дальнейшей настройки, пользователи Gnome могут теперь просматривать файловую систему своего мобильного устройства, выбрав Просмотр в файл-менеджере [Explore With Filemanager] в контекстном меню апплета. Для синхронизации любых данных необходимо создать так называемое «партнерство» [partnership]. KDE-приложение само даже попросит вас создать его, прежде чем позволит использовать остальные приложения.

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

Графические оболочки KDE и Gnome позволяют создавать новые партнерства, щелчком либо на кнопке Добавить [Add] в Менеджере партнерств [Partnership Manager], либо на кнопке Создать [Create] в списке партнеров Gnome [Gnome Partners]. Также потребуется ввести имя партнерства и выбрать данные, подлежащие синхронизации. Однако весь полезный функционал обеспечивается другим процессом; здесь-то и появляется OpenSync. Теперь нам необходимо воспользоваться OpenSync и установленными ранее плагинами для управления передачей данных между мобильным устройством и настольным компьютером.

За оболочку для OpenSync мы возьмем KitchenSync, но процедура будет не сильно отличаться, если вы выберете Multisync в Gnome. При запущенном в фоновом режиме приложении панели задач и подключенном мобильном устройстве, запустите KitchenSync из меню Инструменты. Теперь необходимо создать группу. Группа – это просто набор плагинов; они называются «членами» и в KitchenSync, и в Multisync. Разные группы можно использовать для разных задач: например, создать группу не для телефона, а для синхронизации Google Calendar с Evolution. Но мы начнем со стандартной группы для синхронизации мобильных устройств. Нажмите кнопку Добавить группу [Add Group] и введите ее имя. Затем нажмите кнопку Добавить членов [Add Members] и определите члена Evolution 2.x, а за ним члена Плагин для синхронизации Windows Mobile 5 и более поздних устройств. Надо также щелкнуть на члене Evolution и использовать поля настройки для определения местоположения вашей адресной книги, календаря и списка задач. В завершение нажмите OK для сохранения группы.

Синхронное плавание

Итак, мы готовы к старту первого процесса синхронизации. В списке групп KitchenSync, нажмите ссылку Синхронизировать сейчас [Synchronize Now]. Это инициирует ActiveSync-соединение между вашим настольным ПК и мобильным устройством, и вы должны увидеть, что каждый из них активировался. В зависимости от состава устройств, контакты, события календаря и заметки скопируются с вашего мобильного устройства в Evolution или персональный органайзер KDE 3. Если возникнут конфликты (например, два контакта с одинаковым именем, но разными номерами), перед вами предстанет «сырое» содержимое, и вас попросят указать, который вам важнее. Прочесть его трудновато; проще выбрать устройство, которое, как вам известно, содержит более актуальную информацию.

Вот и все. Устанавливайте новые приложения при помощи панели и просматривайте содержимое вашего мобильного устройства через Gnome. Для всего прочего пользуйтесь OpenSync, управляя передачей данных между настольным приложением и используемым на мобильнике. Процедура не лишена острых углов, и в столь детальных инструкциях по настройке синхронизации мобильного устройства с настольным компьютером нужды не должно быть. Но главное – это работает, а все потерянные в начале контакты мы вернули. LXF

Только для экспертов: Bluetooth

Мы направили свои усилия на настройку синхронизации при USB-соединении. Это проще и быстрее, чем Bluetooth, но не обязательно удобнее. Тем, кто предпочитает беспроводное Bluetooth-соединение между мобильным устройством и настольным ПК, мы рекомендуем сначала настроить все по USB, а затем воспользоваться стандартными инструментами Bluetooth, предусмотренными на вашей машине для создания связи между компьютером и устройством Bluetooth, которое вы желаете подключить.

Выполните следующие две инструкции командной строки. Во-первых, введите hcitool scan. Ваш мобильник должен появиться в списке обнаруженных Bluetooth-устройств; запишите его MAC-адрес. Теперь введите sdptool browse, а следом MAC-адрес. Найдите в выводе ‘SyncMLClient’ и запишите номер канала. Следующий шаг – установка плагина OpenSync с именем syncml. Сделав это, воспользуйтесь оболочкой OpenSync вроде Multisync или KitchenSync для создания новой группы, включающей только что добавленного члена SyncML over OBEX Client, а также ваше PIM-приложение. Щелкните на члене SyncML и измените его настройки, добавив MAC-адрес и канал вашего устройства, и вы готовы к синхронизации!

Шаг за шагом: Multisync для Google Calendar

Шаг 1

  • Создайте новую группу
    Запустите Multisync и создайте новую группу. Отредактируйте ее, добавив членов Google Calendar и SynCE.

Шаг 2

  • Введите свои данные
    Щелкните на члене Google Calendar и введите свои реквизиты в текстовом редакторе справа. В нем два раздела USER.

Шаг 3

  • Обновление
    Закройте окно члена и щелкните на кнопке Обновить [Refresh]. Multisync выполнит синхронизацию данных Google Calendar.
Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию