Hlavní navigace

Synchronizujeme Linux a mobilní telefon

Adam Štrauch 7. 10. 2009

Když jsem si pořídil mobilní telefon, který uměl komunikovat s ostatními pomocí protokolu SyncML, rozhodl jsem se udělat si pořádek v kontaktech a všechno hezky synchronizovat s desktopem a netbookem. Nakonec jsem tuto myšlenku opustil pro celkovou lenost, ale vy se třeba se synchronizací dostanete dál.

Když se řekne synchronizace, každý si pravděpodobně představí něco jiného. Mě napadne synchronizace souborů mezi několika počítači, jiného zas vertikální synchronizace u grafických karet a třetího synchronizace kontaktů, úkolů a kalendáře mezi mobilem a jiným hardwarem. Samotný pojem má opravdu široký záběr, ale většinou jde o snahu mít jednu informaci na více místech s tím, že když ji na jednom upravím, projeví se změna na těch ostatních. Tak by se dal popsat i cíl tohoto článku.

I když je na tom podpora synchronizace v Linuxu relativně dobře, musím uznat, že na pohodlí jiných operačních systému zatím nedosahuje. Na druhou stranu je univerzální a neomezuje uživatele pouze na jeden produkt. Taktéž neomezuje uživatele ve vývoji, a když chce třeba přidat podporu nové aplikace, tak mu nic nebrání. Univerzálnost s sebou nese ale i problémy.

V linuxových distribucích se na synchronizaci používá nástroj OpenSync, případně jeho frontendy. Ten funguje tak, že si uživatel vytvoří profil, do něj nahází zařízení a programy, které se mají synchronizovat, klikne na tlačítko synchronizovat a nastává několik vteřin až minut ticho. OpenSync si stáhne to, co potřebuje od všech zúčastněných zařízení a programů, a data převede do nějakého společného formátu. Zde je čas pro magii, která rozhodne, které položky se změnily, které byly naopak přidané nebo které zmizely úplně. Že to není dokonalé, se přesvědčíte hned jak na vás vyběhne okénko se dvěma XML soubory a vy se musíte rozhodnout, která je ta správná verze. S podobnými problémy jsem se setkal hlavně u použití diakritiky, a také když jsem měl jméno a příjmení spojené na jedné straně a rozdělené na druhé. Podobně na tom jsou záznamy v kalendáři, které když obsahují diakritiku, tak se občas pro jistotu objeví na obou stranách dvakrát. Když tohle pomineme, jde o dobrý princip, který bude po pořádném otestování velmi praktický a pohodlný. Přes to co vám píšu nemusíte se děsit. Váš mobil nebo jiné zařízení může pracovat lépe a nebudete mít s OpenSync jediný problém. Dobrou radou v tomto případě je vybírat při rozhodování záznamy vždy od jedné strany, kde je potřebujete více a kde jsou kompletnější, a detaily doladit.

Nejčastěji budete určitě chtít synchronizovat mobil s vaším desktopem či note/netbookem. Společný jmenovatel v synchronizaci mobilních telefonů je SyncML. Po tímto názvem si můžeme představit formát či jazyk, založený na XML a spravovaný organizací Open Mobile Alliance. Na rozdíl od jiných standardů je na SyncML super, že ho výrobci ve svých telefonech opravdu podporují. To znamená, že když se vám podaří spojit váš mobilní telefon s vaším počítačem, a je velmi pravděpodobné, že třeba přes bluetooth se to povede, tak máte prakticky jistotu, že z telefonu svoje data dostanete. To vám pomůže minimálně k záloze telefonního seznamu, ale taktéž k té synchronizaci. SyncML podporuje také řada online služeb, takže si můžete synchronizovat informace z telefonu se vzdáleným serverem třeba přes GPRS.

I u SyncML je druhá strana mince, která je naznačená v záznamu na Wikipedii. Standard bohužel nepokrývá některé důležité věci, jako například název databáze. Když se vytváří spojení přes SyncML, je potřeba uživatelské jméno, heslo a název databáze a zrovna název databáze se u každého výrobce liší. Databází jsou zde myšleny jako třeba kontakty nebo záznamy v kalendáři. Další problém je, že standard uspokojivě pokrývá pouze synchronizaci proti serveru a výměna přes lokální spojení jako je třeba bluetooth nebo kabel je na tom hůř. Výrobci pak jsou nuceni tam „něco dát“, aby to fungovalo. Proto se pak v některých programech včetně OpenSync setkáváme s nekompatibilitou k některým telefonům.

Teď přejdeme k části, kde si ukážeme, co všechno OpenSync umí a jak se používá. Použijeme k tomu frontend Multisync. Instalace je jednoduchá, protože balíčky jsou v repositáři.

Nainstalujeme si balíčky: multisync, multisync-tools a libmultisync-plugin-all.

Tím jsme do systému přidali všechno, co budeme potřebovat. Pro další krok si nezapomeneme spárovat telefon s počítačem, na kterém pracujeme. Ve spouštěcí nabídce se objevila položka Multisync-gui. Po spuštění se nám objeví jednoduchá aplikace, která obsahuje vše, co potřebujeme.

opensync

Klikneme na tlačítko Přidat a zadáme název skupiny, třeba „Mobil-Evolution“.

opensync
opensync

Teď klikneme na Add Member a vybereme SyncML over OBEX client.

opensync

Opět klikneme na Add Member a přidáme třeba Evolution. Teď vidíme stejný formulář jako na začátku, ale doplněný o naše dva pluginy. Po kliknutí na plugin syncml-obex-client vidíme konfigurační soubor pluginu, takže s uživatelskou přítulností se to nepřehání. Bohužel to není výjimka. Plugin evo2-sync  má jako jediný formulář přítulný, kde si vybereme jaké databáze chceme synchronizovat.

opensync

Pro další pokračování budeme potřebovat nastavit plugin syncml-obex-client. Konfigurační soubor může vypadat třeba takto:

<?xml version="1.0"?>
<config>
<bluetooth_address>00:1D:98:08:D7:CA</bluetooth_address>
<bluetooth_channel>11</bluetooth_channel>
[...]
</config> 

Adresu bluetooth zařízení zjistíme v nějakém správci bluetoothových zařízení jako je Blueman, nebo přes příkazovou řádku, které se stejně nevyhneme.

$ hcitool scan
Scanning ...
        00:12:D2:A4:A8:B4       n/a
        00:1D:98:08:D7:CA       Cx 

Máme-li adresu, zjistíme, kde se nachází kanál se SyncML. To uděláme pomocí:

$ sdptool browse 00:1D:98:08:D7:CA
Browsing 00:1D:98:08:D7:CA ...
[...]
Service Name: SyncML Client
Service RecHandle: 0x1000e
Service Class ID List:
  UUID 128: 00000002-0000-1000-8000-0002ee000002
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 11
  "OBEX" (0x0008)
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
[...] 

Důležitá je položka „Channel: 11“. Tu vyplníme do konfiguračního souboru. Nakonec zaškrtneme, které databáze chceme synchronizovat. Ne všechny pluginy podporují všechny databáze. To by mělo být všechno, takže je čas kliknout na tlačítko Obnovit.

opensync

Po nějakém čase, kdy se stáhnou všechny položky, budete možná vyzváni k vyřešení nějakých problémů. Pak vše utichne, do mobilu i do Evolutionu se nahrají nová data, případně se upraví/promažou ta stará a synchronizace je dokončena. Je čas začít hledat škody. Když vše vypadá v pořádku, můžete synchronizaci bez problémů používat.

Do skupiny můžete přidat i další pluginy, které jsou k dispozici. Nejžádanější z nich bude pravděpodobně plugin pro synchronizaci s Googlem. Přidáme ho stejně jako dva předchozí. Konfigurace se provádí opět pomocí XML souboru, tentokrát trochu kratším. Do něj vyplníme jméno (na dvou místech) a heslo a tím by mělo být vše zařízeno. Mezi dalšími pluginy najdeme ještě synchronizaci s Palmem a „SyncML over HTTP Server“.

Závěr

Synchronizace v Linuxu na tom sice není moc dobře, ale s trochou péče dostaneme uspokojivý výsledek. Pokud nechcete používat klikátka nebo chcete třeba provádět automatickou synchronizaci na domácím serveru, tak vás určitě bude zajímat nástroj msynctool, který dokáže to samé co Multisync, jen z příkazové řádky. Skript, který bude kontrolovat přítomnost mobilu/notebooku by už neměl být takový problém. OpenSync se stále vyvíjí a v budoucnu můžeme čekat spolehlivější a použitelnější nástroj.

Našli jste v článku chybu?

7. 10. 2009 0:19

Pavel (neregistrovaný)

tak toto je přesně tenm důvod, proč linux u mě nezvítězil ani po roce snažení se s sním naučit trochu pracovat.

Objektivně hodnoceno, pokud bych nepotřeboval synchronizovat PIM mezi desktopem a mobilem (nyní smartphone iPAQ 514 – WM 6.0 a SE C702); tak to už dávno mám na počítači. Fakt škoda, protože uživatelsky mi přijde Linux celkem přívětivý i pro totální lamu jako jsem já a ve všem ostatním jsem vždy našel SW, který dělal to co potřebuju.škoda škoda škoda.

Příspěvek berte jako povzd…

7. 10. 2009 9:06

NdrU (neregistrovaný)

Ono je to čistě věc toho výrobce, jestli ovladače dodá nebo ne. Pokud nedodá, ztrácí část trhu, ovšem je otázkou, jestli by mu výnosy z linuxových uživatelů zaplatili vývoj těch ovladačů.

Neberte to zle, sám používám Linux (i když rozhodně nejsem žádný fanatik) a samotného mě štve, že se třeba nepřipojím přes ufouna, ale musíte se na to dívat reálně.

A ano, dokud nebudou existovat ovladače na většinu zařízení (jakože dnes už imho existují), bude Linux pro spoustu uživatelů opravdu nahovno…

Lupa.cz: Na koho se v Křišťálové Lupě nedostalo?

Na koho se v Křišťálové Lupě nedostalo?

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Vitalia.cz: To nejhorší při horečce u dětí: Febrilní křeče

To nejhorší při horečce u dětí: Febrilní křeče

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Podnikatel.cz: Babiš: E-shopy z EET možná vyjmeme

Babiš: E-shopy z EET možná vyjmeme

Vitalia.cz: Často čůrá a má žízeň? Příznaky dětské cukrovky

Často čůrá a má žízeň? Příznaky dětské cukrovky