iPhone synchroniseren met Linux

Die titel is niet helemaal eerlijk: wat ik hieronder beschrijf, zou onder Windows net zo goed moeten werken. Maar omdat Windows-gebruikers ook via iTunes kunnen synchroniseren, en het dus vooral de Linux-gebruikers zullen zijn die deze info nodig hebben, staat ‘Linux’ in de titel, voor de zoekmachines.

Wat ik hieronder beschrijf, heb ik overigens niet zelf uitgevonden (behalve het synchroniseren van Herinneringen); ik heb alleen de informatie van verschillende websites samengevoegd en gestructureerd.

En uiteraard accepteer ik, zoals gewoonlijk, geen enkele verantwoordelijkheid voor wat jij doet met de informatie die je hier leest. Als jij met onderstaande aan de slag gaat zonder eerst een backup te maken, en je raakt zaken kwijt, dan is dat niet mijn probleem.

Goed, nu dat uit de weg is…

Ik heb een iPhone aangeschaft. En ik zou het wel handig vinden als ik wat gegevens zou kunnen synchroniseren tussen mijn telefoon en mijn laptop.
Het gaat daarbij dan vooral om de agenda(‘s), de contacten, en de herinneringen. Voor mijn mail gebruik ik IMAP, dus daar kan ik overal vandaan bij zonder te hoeven synchroniseren; mijn foto’s doe ik liever via de USB-kabel; en verder heb ik niets dat heen-en-weer zou moeten tussen tussen telefoon en pc.
Alles dat ik wil synchroniseren, kan ik op de laptop kwijt in Thunderbird, dus die keuze is snel gemaakt, want TB heb ik sowieso altijd open staan voor mijn mail.

iCloud

iCloud is de backup-dienst van Apple; je hebt bij de aanschaf van je toestel ook een iCloud-abonnement gekregen. De instellingen voor dit abonnement vind je via InstellingenAccounts en wachtwoordeniCloud. Geef daar toestemming voor het synchroniseren van je contacten, agenda’s en herinneringen:

Log vervolgens in op de web-versie van iCloud om te verifiëren dat je daar nu inderdaad die gegevens terugvindt.

(Let op: als je bij iCloud over de 5GB gaat, moet je betalen; voor contacten en agenda is dat geen probleem, maar met je foto’s erbij, zit je daar snel aan.)

Als je een mobiel abonnement hebt met onbeperkt datagebruik, of je agenda, contacten en herinneringen zijn heel belangrijk voor je, zet dan ook mobiele data aan voor deze diensten, via InstellingenMobiel netwerk.

Wachtwoord

Apple staat niet toe dat je met je standaard iCloud wachtwoord je gegevens synchroniseert met Thunderbird; je moet hiervoor een apart wachtwoord aanmaken.

Log in op de Apple ID website; houd je telefoon bij de hand, want Apple gaat je een inlogcode sturen voor de 2Factor Authenticatie.
Onder het hoofdstuk Beveiliging vind je het kopje APP-SPECIFIEKE WACHTWOORDEN. Klik hier op Maak wachtwoord aan… en volg de aanwijzingen. Kopieer het gegenereerde wachtwoord naar een tekstbestandje dat je open laat staan.

Contacten

Ga in het menu van Thunderbird naar ExtraAdd-ons, en vervolgens naar het tabblad Extensies. Rechts-bovenin, bij Alle add-ons doorzoeken, vul je in ‘CardBook‘ (en druk je op ‘Enter’). Installeer de CardBook add-on, en herstart Thunderbird.

Na de herstart selecteer je ExtraCardBook. Maak een nieuw adresboek aan; kies bij de lokatie ‘Op internet‘, en bij het type ‘Apple‘; bij Gebruikerscode vul je je Apple ID in, en bij Wachtwoord het wachtwoord dat je daarnet hebt gegenereerd en gekopieerd naar dat tekstbestandje dat nog open staat. Als je dan op Volgende klikt, worden je contacten vanuit iCloud gesynchroniseerd naar Thunderbird.

De overige instellingen van CardBook mag je zelf uitvogelen. (En het handmatig samenvoegen van de contacten in je iPhone/iCloud-adresboek, en die in Thunderbird, waar ongetwijfeld overlap tussen is, is trouwens ook een erg leuke klus…)

Agenda’s

De stap die nu volgt is wat lastig. De agenda’s in iCloud zijn namelijk beschikbaar via het CalDAV-protocol, maar Apple publiceert de adressen niet; die moeten we dus zelf uitvogelen.
De basis van het adres is https://caldav.icloud.com/<gebruiker>/calendars/<agenda>. Zoals je ongetwijfeld al begrijpt, moeten we zelf de variabelen <gebruiker> en <agenda> zien te achterhalen.

Log in Firefox met je Apple ID in op icloud.com; ga vervolgens naar de agenda. Druk op Ctrl-Shift-E om de netwerk-console te openen.
Selecteer nu één van de agenda’s aan de linkerkant van de pagina, en maak een test-evenement aan. In de netwerk-console komt dan allerlei verkeer voorbij. En bij dat verkeer ga je dan, in de Parameters-tab, op zoek naar de variabelen dsid en en guid. De eerste is numeriek en kom je vrij vaak tegen; dit is de gebruikers-id. Voor de tweede zul je wat meer moeten graven; de waarde kan een woord zijn (‘home‘, ‘work‘), of een lange string (‘1A2B3C4D-A1B2-C3D4-E5F6-6F5E4D3C2B1A‘); dit is de ID van de agenda.
Dit doe je voor alle agenda’s (de agenda-id verschilt per agenda, maar de gebruikers-id zou steeds hetzelfde moeten zijn). Noteer al deze IDs in het tekstbestandje dat nog open staat.

Ikzelf heb 3 agenda’s, en dus ook 3 URLs:

  • https://caldav.icloud.com/1234567890/calendars/home
  • https://caldav.icloud.com/1234567890/calendars/work
  • https://caldav.icloud.com/1234567890/calendars/1A2B3C4D-A1B2-C3D4-E5F6-6F5E4D3C2B1A

De kalender-extensie voor Thunderbird heet Lightning; installeer die (spiek hierboven als je vergeten bent hoe je add-ons installeert).

Als je Thunderbird herstart hebt, en de agenda geopend, zie je aan de linkerkant van het scherm dat er 1 agenda is, met de naam ‘Home‘. Rechtsklik daaronder, en selecteer Nieuwe agenda….
Geef in het eerste scherm aan dat de agenda op het netwerk staat. In het tweede scherm geef je aan dat het een CalDAV agenda betreft, en bij Locatie vul je één van de URLs in die je net gevonden hebt; als je Offlineondersteuning aanvinkt, kun je de agenda ook gebruiken als je niet verbonden bent met het internet.

Herhaal dit voor alle agenda’s.

Herinneringen

Tja, en toen had ik al mijn agenda’s gesynchroniseerd, en toen dacht ik ‘Zou het niet mooi zijn als mijn Herinneringen (Reminders, die in andere agenda’s altijd Taken of Tasks heten) gewoon beschikbaar zouden zijn onder de URL /tasks?‘. En dat bleek ook het geval.

Maak dus tot slot nog een laatste agenda aan met de URL https://caldav.icloud.com/<gebruiker>/calendars/tasks. De Herinneringen uit je iPhone zullen dan in Lightning zichtbaar zijn als Taken, en vice versa.

Hoe dit werkt als je meerdere lijsten met Herinneringen hebt, weet ik niet, want ik heb alleen de ene standaardlijst.

Let op: taken/herinneringen zonder datum worden wel getoond in de Herinneringen-app op de iPhone, maar niet in de Herinneringen-widget! (Wat overigens niets te maken heeft met Thunderbird, maar alles met de widget, die alleen de herinneringen voor vandaag toont.)

Have fun!
Rob

Dit bericht is geplaatst in Nerd stuff. Bookmark de permalink.

Één reactie op iPhone synchroniseren met Linux

  1. Pingback: iPhone 7 « elPeregrino.nl

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.