Comment 5 for bug 1342123

Revision history for this message
Jonathan Sahagun (aj-sahagun) wrote :

If anyone is interested in a workaround, here's something that seems to work on my Ubuntu install.

I noticed that running /usr/lib/evolution/evolution-calendar-factory by itself manually will cause it to perform some initializations and terminate after a few seconds. I'm not using any calendar-related services.

--------
Registering ECalBackendContactsEventsFactory ('contacts:VEVENT')
 <<snip>>
Registering ECalBackendCalDAVTodosFactory ('caldav:VTODO')
Server is up and running...
Bus name 'org.gnome.evolution.dataserver.Calendar4' acquired.
Bye.
--------

I also noticed that if I ran /usr/lib/evolution/evolution-calendar-factory while there is already an instance running, the new instance will take over the 'org.gnome.evolution.dataserver.Calendar4' bus and will cause the older one to terminate:

--------
Registering ECalBackendContactsEventsFactory ('contacts:VEVENT')
 <<snip>>
Registering ECalBackendCalDAVTodosFactory ('caldav:VTODO')
Server is up and running...
Bus name 'org.gnome.evolution.dataserver.Calendar4' acquired.
 <<launch another instance in another terminal>>
Bus name 'org.gnome.evolution.dataserver.Calendar4' lost.
Bye.
--------

Since I'm not using any calendar-related services, I added a startup item via GUI that invokes /usr/lib/evolution/evolution-calendar-factory without any options:

--------
> cat ~/.config/autostart/evolution-calendar-factory.desktop

[Desktop Entry]
Type=Application
Exec=/usr/lib/evolution/evolution-calendar-factory
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Workaround for evolution-calendar-factory
--------

This causes the original "stuck" startup process to lose its hold on org.gnome.evolution.dataserver.Calendar4 and terminate.

This workaround is a lot less invasive than the suggestions I have seen elsewhere to uninstall packages or remove the file's execute bit, since org.gnome.evolution.dataserver.Calendar4 will still be available.

Again, this is a workaround. Unfortunately, I haven't been able to find out what causes the process to be stuck in the first place, or whether or not it really needs to run all the time.