Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cinnamon-settings is broken by gnome 3.4 changes (dbus). #515

Closed
leigh123linux opened this issue Mar 12, 2012 · 4 comments · Fixed by #1110
Closed

cinnamon-settings is broken by gnome 3.4 changes (dbus). #515

leigh123linux opened this issue Mar 12, 2012 · 4 comments · Fixed by #1110

Comments

@leigh123linux
Copy link
Contributor

Here's the error

[leigh@main-pc ~]$ cinnamon-settings
/usr/lib64/python2.7/site-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
import gobject._gobject
Traceback (most recent call last):
File "/usr/share/cinnamon-settings/cinnamon-settings.py", line 1365, in
MainWindow()
File "/usr/share/cinnamon-settings/cinnamon-settings.py", line 1124, in init
self.changeTimeWidget = ChangeTimeWidget()
File "/usr/share/cinnamon-settings/cinnamon-settings.py", line 824, in init
proxy = dbus.SystemBus().get_object("org.gnome.SettingsDaemon.DateTimeMechanism", "/")
File "/usr/lib/python2.7/site-packages/dbus/bus.py", line 244, in get_object
follow_name_owner_changes=follow_name_owner_changes)
File "/usr/lib/python2.7/site-packages/dbus/proxies.py", line 241, in init
self._named_service = conn.activate_name_owner(bus_name)
File "/usr/lib/python2.7/site-packages/dbus/bus.py", line 183, in activate_name_owner
self.start_service_by_name(bus_name)
File "/usr/lib/python2.7/site-packages/dbus/bus.py", line 281, in start_service_by_name
'su', (bus_name, flags)))
File "/usr/lib/python2.7/site-packages/dbus/connection.py", line 630, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SettingsDaemon.DateTimeMechanism was not provided by any .service files
[leigh@main-pc ~]$

org.gnome.SettingsDaemon.DateTimeMechanism no longer exists in gnome 3.4

@jnbek
Copy link

jnbek commented Apr 30, 2012

I am having the same problem. I need to change me theme settings, and can not.

@leigh123linux
Copy link
Contributor Author

Try this patch (it strips the time settings as it's obsolete).

http://leigh123linux.fedorapeople.org/pub/patches/settings.patch

@leigh123linux
Copy link
Contributor Author

It's still broken.

$ cinnamon-settings
/usr/lib64/python2.7/site-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
import gobject._gobject
Traceback (most recent call last):
File "/usr/share/cinnamon-settings/cinnamon-settings.py", line 1403, in
MainWindow()
File "/usr/share/cinnamon-settings/cinnamon-settings.py", line 1138, in init
self.changeTimeWidget = ChangeTimeWidget()
File "/usr/share/cinnamon-settings/cinnamon-settings.py", line 828, in init
proxy = dbus.SystemBus().get_object("org.gnome.SettingsDaemon.DateTimeMechanism", "/")
File "/usr/lib/python2.7/site-packages/dbus/bus.py", line 244, in get_object
follow_name_owner_changes=follow_name_owner_changes)
File "/usr/lib/python2.7/site-packages/dbus/proxies.py", line 241, in init
self._named_service = conn.activate_name_owner(bus_name)
File "/usr/lib/python2.7/site-packages/dbus/bus.py", line 183, in activate_name_owner
self.start_service_by_name(bus_name)
File "/usr/lib/python2.7/site-packages/dbus/bus.py", line 281, in start_service_by_name
'su', (bus_name, flags)))
File "/usr/lib/python2.7/site-packages/dbus/connection.py", line 630, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SettingsDaemon.DateTimeMechanism was not provided by any .service files

@tetromino
Copy link
Contributor

There are two mostly equivalent dbus APIs for setting the date and time:

  • org.gnome.SettingsDaemon.DateTimeMechanism: implemented by gnome-settings-daemon, removed upstream in version 3.3.5, and added back via a patch in Debian. But other distros that follow Gnome upstream more closely no longer support this interface.
  • org.freedesktop.timedate1: implemented by systemd's timedated, and by openrc-settingsd in Gentoo. This is the "modern replacement" for the g-s-d DateTimeMechanism API, and is preferred by Gnome upstream developers.

IMHO, the bug should be fixed by patching cinnamon-settings to support both of these APIs, and switch at runtime to whichever one is currently available. The following patches allow it to do so:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants