Il n’est toujours pas possible de synchroniser simplement ses contacts et calendriers sur Ubuntu-phone (ubuntu-touch), mais le support caldav et carddav est bien présent !
En suivant ce tutoriel vous pourrez synchroniser votre compte owncloud.
In ubuntu-touch, you can’t add an carddav or caldav sync service, and so it’snt possible to add your owncloud account as a sync service.
For the time being, we have a fix, but with no graphical interface :
I can share this script based on alexandre_payet answers, which will add 1 Contact address-book, and 1 calendar, from your owncloud server, to sync with your phone.
Script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
#!/bin/bash # --------------------------------------------------------------------------- # Ubuntu Phone - Sync Owncloud Contacts & Calendar Account # Carddav & Caldav. # Tested on : Ubuntu-touch vivid - ubuntu-touch/rc-proposed/bq-aquaris.en/vegetahd/ # Last edit : 2015/10/07. # Author : Romain Fluttaz, boTux.fr, <romain@botux.fr> # ============= [ Configuration ] ============= # # --------------- [ OwnCloud ] ---------------- # # Server and user informations HTTP_PROTOCOL="https" # "http" or "https". It's recommended to use an $HTTP_PROTOCOL connection OWNCLOUD_URL="cloud.domain.com" # Without the last /. USERNAME="owncloud-user" # Your OwnCloud username PASSWORD="owncloud-password" # Your OwnCloud password # Contact addressbooks CONTACT_ADDRESSBOOK_NAME="contacts" # Check in the contact setting page. # Calendar CALENDAR_NAME="personnel" # Check in the calendar setting page. # Database OC_DATABASE_NAME="owncloud" # ----------------- [ Phone ] ----------------- # # Database name : CONTACT_DB_NAME="Contacts-name" # Contact addressbook name on the phone CALENDAR_DB_NAME="Calendar-name" # Calendar name on the phone # CRON job CRON_FREQUENCY="hourly" # Cronjob frequency. "hourly", "dayly", "weekly", "monthly". See $HTTP_PROTOCOL://help.ubuntu.com/community/CronHowto#Advanced_Crontab # ============= [ /Configuration ] ============ # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License at <http://www.gnu.org/licenses/> for # more details. # Thanks to : # alexandre_payet @ https://askubuntu.com/questions/616081/ubuntu-touch-add-contact-list-and-calendars # alexandre_payet @ https://askubuntu.com/questions/611761/syncevolution-in-cronjob-to-sync-the-ubuntu-phone-via-caldav-arddav # alexandre_payet @ https://askubuntu.com/questions/629219/automatically-sync-calendar-on-ubuntu-phone/629728#629728 # Usage: Edit the config section and run the script. # Revision history: # 2015-08-22 Adding 1 Contact & 1 Calendar. # 2015-08-22 Add cronjob support. # --------------------------------------------------------------------------- echo "\e[4mAdding OwnCloud account : **$OWNCLOUD_URL**\e[0m" echo "" # Contact echo -e "[\e[0;34m Contacts \e[m] $CONTACT_ADDRESSBOOK_NAME @ $OC_DATABASE_NAME" syncevolution --create-database backend=evolution-contacts database=$CONTACT_DB_NAME syncevolution --configure --template webdav username=$USERNAME password="$PASSWORD" syncURL=$HTTP_PROTOCOL://$OWNCLOUD_URL/remote.php/ keyring=no target-config@$OC_DATABASE_NAME syncevolution --configure backend=evolution-contacts database=$CONTACT_DB_NAME @default $CONTACT_DB_NAME syncevolution --configure database=$HTTP_PROTOCOL://$OWNCLOUD_URL/remote.php/carddav/addressbooks/$USERNAME/$CONTACT_ADDRESSBOOK_NAME backend=carddav target-config@$OC_DATABASE_NAME $CONTACT_DB_NAME syncevolution --configure --template SyncEvolution_Client Sync=None syncURL=local://@$OC_DATABASE_NAME username= password= $OC_DATABASE_NAME $CONTACT_DB_NAME syncevolution --configure sync=two-way backend=evolution-contacts database=$CONTACT_DB_NAME $OC_DATABASE_NAME $CONTACT_DB_NAME echo " +--> $CONTACT_DB_NAME @ local" syncevolution --sync refresh-from-remote $OC_DATABASE_NAME $CONTACT_DB_NAME syncevolution --sync slow $OC_DATABASE_NAME $CONTACT_DB_NAME echo -e "[\e[0;34m Contacts \e[m] +--> Done." echo "" # Calendar echo -e "[\e[33m Calendar \e[m] $CALENDAR_NAME @ $OC_DATABASE_NAME" syncevolution --create-database backend=evolution-calendar database=$CALENDAR_NAME syncevolution --configure --template webdav username=$USERNAME password="$PASSWORD" syncURL=$HTTP_PROTOCOL://$OWNCLOUD_URL/remote.php/ keyring=no target-config@$OC_DATABASE_NAME syncevolution --configure backend=evolution-calendar database=$CALENDAR_NAME @default $CALENDAR_NAME syncevolution --configure database=$HTTP_PROTOCOL://$OWNCLOUD_URL/remote.php/caldav/calendars/$USERNAME/$CALENDAR_NAME backend=caldav target-config@$OC_DATABASE_NAME $CALENDAR_DB_NAME syncevolution --configure --template SyncEvolution_Client syncURL=local://@$OC_DATABASE_NAME username= password= $OC_DATABASE_NAME $CALENDAR_NAME syncevolution --configure sync=two-way database=$CALENDAR_NAME $OC_DATABASE_NAME $CALENDAR_NAME echo " +--> $CALENDAR_DB_NAME @ local" syncevolution --sync refresh-from-remote $OC_DATABASE_NAME $CALENDAR_NAME echo -e "[\e[33m Calendar \e[m] +--> Done." echo "" # Cron echo -e "[\e[0;36m Cron \e[m]" echo -e " +--> \e[0;31mGranting SuperUser Access\e[m" sudo mount /dev/loop0 / -o remount,rw CRON_LINE="@$CRON_FREQUENCY export DISPLAY=:0.0 && export DBUS_SESSION_BUS_ADDRESS=$(ps -u phablet e | grep -Eo 'dbus-daemon.*address=unix:abstract=/tmp/dbus-[A-Za-z0-9]{10}' | tail -c35) && /usr/bin/syncevolution $OC_DATABASE_NAME" (crontab -u phablet -l; echo "$CRON_LINE" ) | crontab -u phablet - sudo service cron restart crontab -l | grep "$CRON_LINE" echo -e "[\e[0;36m Cron \e[m] +--> Added." echo "" # First Normal Sync echo -e "[\e[0;32m Syncronisation \e[m]" syncevolution $OC_DATABASE_NAME echo -e "[\e[0;32m Syncronisation \e[m] +--> Done." # Print information echo "" echo "" echo "" echo "# To manually sync your accounts, use the command below :" echo "" echo -e " syncevolution $OC_DATABASE_NAME \e[m" echo " or" echo -e "\e[0;34msyncevolution $OC_DATABASE_NAME $CONTACT_DB_NAME\e[m | \e[33msyncevolution $OC_DATABASE_NAME $CALENDAR_NAME\e[m" echo "" echo "See 'syncevolution --help' to get more information." |
Download ubuntu-touch_owncloud-sync_contact-calendar.sh | Github Gist
Tested on the ubuntu-touch/rc-proposed/bq-aquaris.en/vegetahd channel
How to use
Edit the configuration section, and execute on your ubuntu-phone.
From an Ubuntu desktop
(with : phablet-tools installed from ppa)
- Add phablet-shell
123sudo add-apt-repository ppa:phablet-team/toolssudo apt-get updatesudo apt-get install phablet-tools - Activate Developer mode
- Download and edit the script :
12wget <a href="https://gist.githubusercontent.com/boTux/069b53d8e06bdb9b9c97/raw/a03be09136c5275b2956c512accdad69b30e8074/ubuntu-touch_owncloud-sync_contact-calendar.sh" rel="nofollow">https://gist.githubusercontent.com/boTux/069b53d8e06bdb9b9c97/raw/a03be09136c5275b2956c512accdad69b30e8074/ubuntu-touch_owncloud-sync_contact-calendar.sh</a>gedit ubuntu-touch_owncloud-sync_contact-calendar.sh- In the [Configuration] / [OwnCloud] Section
- Enter your OWNCLOUD_URL, whithout the last /.
- Enter your USERNAME & PASSWORD.
- Enter the name of your owncloud address-book & calendar.
- In the [Configuration] / [Phone] Section
- Edit CONTACT_DB_NAME & CALENDAR_DB_NAME with names of your choosing.
- Edit CRON_FREQUENCY to the sync interval you need.
- Save
- In the [Configuration] / [OwnCloud] Section
- Connect your phone via USB and copy the script (via nautilus, for example in Documents/)
- Connect via phablet-shell and run the script :
123phablet-shellchmod +x Documents/ubuntu-touch_owncloud-sync_contact-calendar.sh./Documents/ubuntu-touch_owncloud-sync_contact-calendar.sh
I’m hoping this can help some of you…