Syncevolution no cronjob para sincronizar o telefone do Ubuntu via caldav / arddav

1

Eu quero sincronizar meus contatos e agenda do meu Ubuntu Phone para um servidor owncloud auto-hospedado. Como ainda não há suporte pronto para uso, tentei esta explicação . No entanto, isso só funciona dentro do terminal no telefone Ubuntu. Se eu tentar

syncevolution --sync slow owncloud calendar

em adb ou em um cronjob, recebo

creating source registry: Cannot autolaunch D-Bus without X11 $DISPLAY

Alguém por favor pode me ajudar?

    
por tobsto 20.04.2015 / 20:42

1 resposta

5

Eu entendi que "syncevolution --sync owncloud calendario lento" deve ser usado somente para a primeira sincronização.

Depois disso, você deve usar:

syncevolution owncloud calendar

Para fazer um cron job, tenho o mesmo problema. Uma solução que funciona para mim é:

Método 1:

export DISPLAY=:0.0 && export DBUS_SESSION_BUS_ADDRESS=Yourdbussessioadress && /usr/bin/syncevolution owncloud calendar

Para obter Yourdbussessioadress:

echo $DBUS_SESSION_BUS_ADDRESS

Método 2: Eu coloquei esses comandos em um script syncevolution.sh assim:

#!/bin/sh
# Synchronisation des calendriers syncevolution
export DISPLAY=:0.0 
export DBUS_SESSION_BUS_ADDRESS=Yourdbussessioadress 
syncevolution owncloud calendar

exit 0

Eu coloquei este script em / home / phablet / bin, torne-o executável e faça isso em crontab -e

@daily sh /home/phablet/bin/synccalendar.sh

Eu ainda estou preso em uma coisa. O valor $ DBUS_SESSION_BUS_ADDRESS está mudando na reinicialização do Ubuntu. Eu tenho um outro script na internet (usando o comando sed) para colocar o bom valor de $ DBUS_SESSION_BUS_ADDRESS no script syncevolution.sh. Eu coloquei este script em /etc/rc.local para fazer o trabalho na reinicialização do Ubuntu. Mas isso não funciona para mim (é como $ DBUS_SESSION_BUS_ADDRESS está vazio logo após a reinicialização)

Se alguém puder ajudar mais.

ATUALIZAÇÃO 22/04/15:

Substitua "export DBUS_SESSION_BUS_ADDRESS = Yourdbussessioadress" por estes comandos:

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)

Funciona como um charme para mim (testado com o Método 2 usando um script sh onde "phablet" é o usuário padrão do ubuntu touch). Graças a um fórum do KDE onde encontrei estas linhas de comandos.

(Próximas etapas:

  1. Encontre uma maneira de fazer um backup de fotos no servidor pessoal com rsync usando ssh e porque não depois de um backup de SMS e MMS, alguns arquivos de configurações, ...

  2. Monte um servidor sftp no ubuntu touch)

por alexandre_payet 21.04.2015 / 11:09