Возможный дубликат:
Как я могу определить, работает ли синхронизация файлов Ubuntu One и каков прогресс?
Во время синхронизации Ubuntu One отображает уведомление, говорящее что-то вроде "'filename.xxx' и 59 других файлов загружаются в ваше персональное облако." Как я могу проверить, что это за другие (59) файлы? Ни один из файлов журнала в .cache/ubuntuone/log, похоже, не регистрирует эту информацию в удобном для пользователя виде.
Я знаю, что могу использовать u1sdtool для просмотра того, что синхронизируется в реальном времени. Но, однако, после того, как синхронизация произошла, нет ли способа узнать, что случилось?
Возможно, наиболее удобным для пользователя местом, где это (в некоторой степени) раскрыто, является журнал активности гномов . Вам придется немного покопаться, но, по крайней мере, на уровне файлов они есть (однако папки, похоже, отсутствуют). Например, вчера я создал новую синхронизированную папку с кучей изображений в ней, и изображения появляются в gnome-activity-journal
примерно так:
Один довольно разработчик дружественный способ выяснить, что было синхронизировано, это использовать REST API для запросов к серверу. Используя u1oauthrequest
(который вы можете найти в пакете ubuntuone-couch
- не волнуйтесь, это не зависит от couchdb), и документацию по API , которую вы можете прочитать на нашем сайте разработчиков , вы можете быстро перейти к синхронизированному контенту.
Журнал syncdaemon действительно содержит информацию о том, что синхронизировалось (в зависимости от уровня ведения журнала, который можно настраивать), но, как вы обнаружили, вам придется написать что-то, чтобы извлечь информацию, которую вы ищете. Тем не менее, syncdaemon действительно отправляет события Zeitgeist, поэтому вы можете запросить его примерно так:
from zeitgeist import client, datamodel
import gobject
def on_ev_recv(evs):
for ev in evs:
print ev.get_interpretation().encode('utf-8'),
print ev.get_subjects()[0].get_origin().encode('utf-8')
mainloop = gobject.MainLoop()
client = client.ZeitgeistClient()
client.find_events_for_template(
datamodel.Event.new_for_values(actor='dbus://com.ubuntuone.SyncDaemon.service'),
on_ev_recv,
result_type=datamodel.ResultType.MostRecentEvents,
num_events=1000)
mainloop.run()