Наши партнеры





  • портретный фотограф читать
  • feelpoint.ru



Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Приемы работы в Ubuntu.
Глава 2: Рабочий стол Linux

Оригинал: "Ubuntu Hacks / The Linux Desktop"
Авторы: Кайл Ранкин, Джонатан Оксер, Билл Чайлдерс (Kyle Rankin, Jonathan Oxer, Bill Childers)
Дата публикации: June 2006
Перевод: Н.Ромоданов
Дата перевода: август 2010 г.

Совет # 23: Синхронизируем ваш карманный ПК

Тот факт, что на вашем карманном ПК стоит система Windows, не означает, что вы не можете его синхронизировать с Ubuntu.

Внутри коробки с вашим карманным ПК вы найдете кабель USB, который совместим с практически любым компьютером, имеющимся на нашей планете. Но вы не найдете программного обеспечения, которое было бы совместимо с чем-нибудь, отличным от Windows. Для синхронизации карманного ПК с Ubuntu, вам понадобится некоторое дополнительное программное обеспечение. К счастью, большая его часть есть в репозитарии Ubuntu universe.

ActiveSync, программное обеспечение, которое поставляется с Pocket PC, предназначено для синхронизации календарей и контактов, а также установки приложений на ваш карманный ПК. Все это вы можете сделать в вашей системе Linux с помощью модуля ipaq для переходника "USB-последовательный порт", набора инструментальных средств SynCE и Multisync.

Подключение карманного ПК

Первым делом нужно выяснить, какой интерфейс используется в вашем карманном ПК. Что касается Linux, что если вы используете совсем недавно выпущенный карманный ПК, он, вероятно, будет определяться как iPAQ. Прежде чем вы подключите ваш карманный ПК, выполните команду sudo modprobe ipaq для того, чтобы загрузить драйвер "USB-последовательный порт" для iPAQ. Подключите ваш карманный ПК и посмотрите выход команды dmesg, чтобы увидеть, было ли обнаружено устройство и что оно из себя представляет. В следующем примере карманный ПК был обнаружен как устройство /dev/ttyUSB0:

bjepson@ubuntu:~$ sudo modprobe ipaq
Password:
bjepson@ubuntu:~$ dmesg | tail
[ 1720.274390] usbcore: registered new driver usbserial
[ 1720.285461] drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
[ 1720.317318] usbcore: registered new driver usbserial_generic
[ 1720.319073] drivers/usb/serial/usb-serial.c: USB Serial Driver core
[ 1720.415421] drivers/usb/serial/usb-serial.c: USB Serial support registered for PocketPC PDA
[ 1720.448394] drivers/usb/serial/ipaq.c: USB PocketPC PDA driver v0.5
[ 1720.457095] usbcore: registered new driver ipaq
[ 1738.233238] usb 1-1: new full speed USB device using ohci_hcd and address 2
[ 1738.796279] ipaq 1-1:1.0: PocketPC PDA converter detected
[ 1738.803167] usb 1-1: PocketPC PDA converter now attached to ttyUSB0

Предостережение

К сожалению, этот прием, вероятно, не сработает с карманным ПК, если он слишком новый. На момент написания этой книги, SynCE еще не поддерживают последние карманные ПК, на которых установлена система Windows Mobile 5.0.

Следующее, что вам нужно сделать, это установить несколько пакетов, но прежде чем сделать это, убедитесь, что у вас в файле /etc/apt/sources.list указан репозитарий universe. Затем запустите команду sudo apt-get update для того, чтобы получить и установить последние пакеты synce, dccm, а также некоторые вспомогательные инструментальные средства:

bjepson@ubuntu:~$ sudo apt-get install synce-dccm synce-serial librra0-tools

Когда dpkg будет устанавливать пакет synce-serial, он задаст вам несколько вопросов: о последовательном интерфейсе, используемый вашим карманным ПК, о IP-адресе для подключения PPP, используемого вашего карманным ПК, и о IP-адресе вашего сервера DNS. Вам необходимо указать адрес сервера DNS, но все остальное вы можете оставить так, как это задано по умолчанию (хотя вам следует проверить, совпадает ли последовательный интерфейс с тем интерфейсом, что вы нашли ранее в выходных данных dmesg). Хотя во время настройки вы указываете последовательный порт, я выяснил, что после установки вам нужно еще кое-что сделать, так что выполните следующую команду:

bjepson@ubuntu:~$ sudo synce-serial-config /dev/ttyUSB0

You can now run synce-serial-start to start a serial connection.
(Теперь вы можете выполнить команду synce-serial-start для запуска последовательного соединения)

Проверяем подключение

Теперь пришло время попробовать подключение. Убедитесь, что ваш карманный ПК подключен к вашему компьютеру и запустите демон dccm. Если вы не укажете для него аргументов, он будет работать в фоновом режиме. Поскольку это первая проба, я предлагаю запускать его не в фоновом режиме (-f) с включенным отладочным режимом (-d 4):

bjepson@ubuntu:~$ dccm -d 4 -f
dccm[4599]: Running in foreground
dccm[4599]: Listening for connections on port 5679

Откройте другой терминал и запустите SynCE:

bjepson@ubuntoo2:~$ sudo synce-serial-start

synce-serial-start is now waiting for your device to connect
(synce-serial-start ожидает подключение вашего устройства)

Подсказка

Если вы видите сообщение об ошибке "synce-serial-abort was unable find a running SynCE connection. Will do nothing" ("synce-serial-abort не может найти работающее соединение SynCE. Ничего не сделано"), то пока вы выполняли настройку, карманный ПК, вероятно, перешел в режим "сон". Если это так, то устройство отключено от машины, и логическое устройство /dev/ttyUSB0 исчезло. Если вы в выходных данных dmesg видите сообщение "PocketPC PDA converter now disconnected from ttyUSB0" ("Конвертер карманного ПК PDA в настоящее время отключен от ttyUSB0"), отключите устройство и включите его обратно, а затем попытайтесь снова запустить synce-serial-start.

Если у вас есть соединение и оно работает, карманный ПК должен бодрствовать.

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

dccm[4941]: Connection from 192.168.131.201 accepted
info package (104 bytes):
  0000: 28 00 00 00 04 14 00 00  (.......
  0008: 11 0a 00 00 00 00 00 00  ........
  0010: 2a 1e c3 37 00 00 00 00  *..7....
  0018: 28 00 00 00 3c 00 00 00  (.......
  0020: 5a 00 00 00 00 00 00 00  Z.......
  0028: 50 00 6f 00 63 00 6b 00  P.o.c.k.
  0030: 65 00 74 00 5f 00 50 00  e.t._.P.
  0038: 43 00 00 00 50 00 6f 00  C...P.o.
  0040: 63 00 6b 00 65 00 74 00  c.k.e.t.
  0048: 50 00 43 00 00 00 53 00  P.C...S.
  0050: 53 00 44 00 4b 00 00 00  S.D.K...
  0058: 00 00 50 00 57 00 31 00  ..P.W.1.
  0060: 30 00 42 00 31 00 00 00  0.B.1...
  0068:
dccm[4941]: Talking to 'Pocket_PC', a PocketPC device of type PW10B1

Подсказка

Для того, чтобы отключить карманный ПК, сначала запустите команду killall -HUP dccm. Если все прошло хорошо, вы должны в сессии dccm увидеть сообщения "Connection interrupted" ("Соединение прервано") и "Connection from 192.168.131.201 closed" ("Соединение с 192.168.131.201 закрыто"). Вы можете оставить пакет dccm работающим. Для того, чтобы переподсоединиться, снова запустите команду sudo synce-serial-start.

Сопрягаем устройства

Прежде, чем вы сможете синхронизироваться с карманным ПК, вам нужно выполнить сопряжение устройств. В карманных ПК можно выполнить сопряжение максимум для двух компьютеров, так что если вы уже сконфигурировали ваш карманный ПК с компьютером с Windows, на котором работает ActiveSync, у вас должен остаться свободным один слот. Программа synce-matchmaker найдет пустой слот и будет его использовать:

bjepson@ubuntoo2:~$ synce-matchmaker create
[rra_matchmaker_create_partnership:356] Partnership slot 1 is empty on device
[rra_matchmaker_create_partnership:356] Partnership slot 2 is empty on device
Partnership creation succeeded. Using partnership index 1.

Если у вас нет свободного слота, вам нужно будет выбрать один из них для удаления. Подробности смотрите на странице руководства manpage synce-matchmaker.

Подсказка

Для того, чтобы создать сопряжение с вашим компьютером, вам нужно будет запустить программу synce-matchmaker только один раз.

Синхронизация с Evolution

Для синхронизации карманного ПК с Evolution, вам необходимо установить Multisync (http://multisync.sourceforge.net), модульный пакет синхронизации, позволяющий создавать пары хранилищ, которые постоянно поддерживаются в синхронизированном состоянии. Для того, чтобы установить Multisync и плагин SynCE, выполните команду sudo apt-get install libmultisync-plugin-all synce-multisync-plugin, которая также установит набор плагинов, в том числе плагин Evolution и плагин резервного копирования backup. Вы будете использовать плагин резервного копирования для того, чтобы проверять, что Multisync работает правильно, прежде чем пытаться выполнить синхронизацию с помощью SynCE.

Подсказка

На момент написания настоящей книги большая часть компонентов, необходимая для синхронизации карманного ПК с KDE, уже присутствовала в Ubuntu, но совместно они работали плохо. В частности, в апплете Raki, который располагается на панели, были проблемы с сегментацией, когда осуществлялось сопряжение устройств, а пакет syncekonnector, необходимый для синхронизации информации PIM с KDE, нельзя было собрать из-за несовпадения версий различных библиотек, включенных в Dapper. Однако, для тех, кто предпочитает собирать кучи библиотек с нуля, есть HOWTO для пользователей Debian http://sourceforge.net/mailarchive/forum.php?thread_id=9562091&forum_id=15200.

Не ищите Multisync в пакете Evolution: вы не найдете его в разделах Edit→Synchronization Options (Редактирование → Параметры синхронизации) или Edit→Plugins (Редактирование → Плагины). Для того, чтобы работать с приложением multisync, вам потребуется запустить его под X11. Вы можете запустить его из командной строки или из раздела Applications→Accessories→Multisync (Приложения → Стандартные → Multisync). После того, как вы запустите Multisync, вы увидите главное окно приложения, показанное на рис. 2-32.

Запускаем пакет Multisync

Рис.2-32. Запускаем первый раз пакет Multisync

Тестируем Multisync

Чтобы убедиться, что Multisync работает должным образом, вы должны сконфигурировать плагин резервного копирования backup и выполнить с его помощью тестовую синхронизацию. Щелкните по кнопке New (Создать) - появится диалоговое окно синхронизации пар так, как это показано на рис. 2-33.

Тестируем Multisync

Рис.2-33. Тестируем Multisync совместно с плагином резервного копирования backup

Укажите в качестве первого плагина - Ximian Evolution 2, а в качестве второго - плагин резервного копирования Backup (рис. 2-33). Введите для этой пары имя, а затем щелкните мышкой и задайте в разделе Options (Параметры) параметры для каждого плагина. Для плагина Evolution, необходимо указать календарь, адресную книгу и указать категории задач синхронизации. Для плагина резервного копирования Backup вы должны указать директорий резервного копирования (он виден во вкладке Options - Параметры в диалоге настройки параметров плагина резервного копирования Backup). После этого вы можете закрыть диалоговое окно Synchronization Pair (Синхронизация пары), нажав для этого на кнопку ОК, которая возвратит вас в главное окно Multisync. Щелкните еще раз для того, чтобы выбрать пару, которую вы только что создали, а затем нажмите кнопку Sync. Синхронизации должна произойти быстро, продолжительность зависит от количества контактов, задач и назначений, которые у вас есть. Как только синхронизация завершится, откройте оболочку или окно Nautilus и перейдите в директорий резервного копирования, который вы указали при настройке параметров плагина Backup. Там вы должны увидеть несколько новых файлов:

bjepson@ubuntoo2:~$ cd backup/
bjepson@ubuntoo2:~/backup$ ls -l
total 8
-rw-r--r-- 1 bjepson bjepson  26 2006-02-07 16:14 backup_entries
-rw-r--r-- 1 bjepson bjepson 422 2006-02-07 16:14 multisync1139346850-0

Синхронизация с карманным ПК

Вернемся в главное окно Multisync и снова щелкаем по кнопке Add (Добавить). На этот раз настраиваем попарную синхронизацию Synchronization Pair между Evolution и плагином SynCE. Точно также, как это вы делали для предыдущей пары, щелкните по кнопке Options — Параметры (рядом с Evolution) для того, чтобы указать, что следует синхронизировать (плагин SynCE не имеет параметров). Нажмите кнопку ОК для того, чтобы закрыть диалоговое окно и вернуться к главному окну Multisync. Щелкните мышкой, чтобы выбрать пару Evolution/SynCE и нажмите кнопку Sync.

Если все пройдет хорошо, ваш карманный ПК и пакет Evolution будут синхронизированы. Щелкните по кнопке Log (Журнал) для того, чтобы посмотреть, что произошло. На рис. 2-34, вы видите, что из карманного ПК в Evolution было успешно скопировано две статьи.

Журнал пакета Multisync

Рис.2-34. Журнал пакета Multisync после синхронизации с карманным ПК

Каждый раз, когда вы хотите выполнить синхронизацию, вам нужно будет запустить dccm (или держать его в работающем состоянии в фоновом режиме), подключить карманный ПК и запустить команду sudo synce-serial-start. Затем вы можете запустить Multisync и выполнить синхронизацию. Для отключения запустите команду killall -HUP dccm и отключите карманный ПК.

Установка программ на карманный ПК

Программное обеспечение для карманного ПК, как правило, приходит в одной из двух форм: самоустанавливающийся файл в формате .exe, который предназначен для запуска под Windows, или файл в формата .cab, в котором находятся готовые к запуску исполняемые файлы для вашего карманного ПК. Если у вас возникли проблемы с файлом .exe, беспокоиться не нужно. В репозитарии universe [Совет # 60] есть пакет orange, который поможет вам выделить файлы .cab:

$ orange PocketVCSSetup.exe
squeezing out: /home/bjepson/pocketvcs.arm.cab
squeezing out: /home/bjepson/pocketvcs.mips.cab
squeezing out: /home/bjepson/pocketvcs.sh3.cab
-------
3 files

Как только у вас появится файл .cab (либо загруженный с веб-сайта, либо выделенный с помощью пакета orange), вы можете установить его на ваш карманный ПК. В большинстве современных карманных ПК используются различные процессоры ARM, и вы можете воспользоваться пакетом synce-pstatus для того, чтобы точно узнать, какой процессор используется:

$ synce-pstatus | grep ^Processor
Processor architecture: 5 (ARM)
Processor type:         2577 (StrongARM)

Затем вы можете использовать команду synce-install-cab для того, чтобы установить файл .cab под соответствующую архитектуру:

$ synce-install-cab pocketvcs.arm.cab
Copying file 'pocketvcs.arm.cab' to device...
File copy of 1660980 bytes took 0 minutes and 6 seconds, that's 276830 bytes/s.
Installing 'pocketvcs.arm.cab'...

После того, как файл будет скопирован, вы увидите, что на вашем карманном ПК начнет работать инсталлятор. Вам могут быть выданы запросы на ввод дополнительной информации. С помощью утилит synce-list-programs и synce-remove-program вы можете получить список программ, которые вы установлены в карманном ПК, и удалять эти программы.

Доступ к файловой системе карманного ПК

Вы можете работать с файлами на карманном ПК, используя утилиты, перечисленные в таблице 2-1.

Таблица. Утилиты для работы с файловой системой карманного ПК

УтилитаОписание

synce-pcp

Копирование файлов

synce-pls

Список файлов

synce-pmkdir

Создание директория

synce-pmv

Перемещение / переименование файла

synce-prmdir

Удаление директория

Например, приложение PocketVCS (http://pocketvcs.emuunlim.com) практически бесполезно, если нет некоторых игр. Вы можете посмотреть, что оно поставляется без всего:

$ synce-pls "/My Documents/PocketVCS/" 
AC--------      444646  Tue 11 Mar 2003 04:19:22 PM EST  PocketVCS.pro

Для того, чтобы выполнять реальные операции с файлом (копирование, удаление и т.д.), вам нужно указать префикс в виде двоеточия (:) перед ссылкой на файл в удаленной файловой системе. Ниже показано, как скопировать свободный пакет Oystron (http://www.io.com/~nickb/atari/oystron.html) на карманный ПК:

$ synce-pcp OYSTR29.BIN ":/My Documents/PocketVCS/OYSTR29.BIN" 
File copy took less than one second!

Вы можете посмотреть, что есть файл и он готов для игры:

$ synce-pls "/My Documents/PocketVCS/" 
AC--------        4096  Thu 01 Jul 2004 04:56:26 AM EDT  OYSTR29.BIN
AC--------      444646  Tue 11 Mar 2003 04:19:22 PM EST  PocketVCS.pro

Устранение проблем

Если у вас возникли проблемы с карманным ПК, убедитесь, что модуль ipaq был загружен правильно и посмотрите выходные данные команды dmesg, чтобы удостовериться, что карманный ПК был обнаружен и что было установлено последовательное соединение.

Если ваш карманный ПК и Evolution не обмениваются данными, вернитесь в терминал, в котором был запущен пакет dccm и проверьте, что он распознал ваш карманный ПК и подключился к нему. Если между ними нет обмена данными, попытайтесь остановить соединение и попробуйте переконнектиться. Если команда killall -HUP dccm не переподключит соединение, попробуйте команду sudo synce-serial-abort. Общеизвестно, что с карманными ПК возникают подобные проблемы, так что если после этого вы обнаружите, что невозможно подключиться, вам следует перезагрузить ваш карманный ПК. Черт возьми, вам даже может потребоваться перезагрузить компьютер, если у вас проблемы не исчезнут.

Если у вас все еще остались проблемы, посетите веб-сайт SynCE (http://synce.sourceforge.net) для ознакомления с документацией и другой информацией об устранении проблем.


Назад Оглавление Вперед