Cinnamon Settings may temporarily broken

LSS: It appeas libnotify updated and cinnamon-settings (guake as well, for that matter) need to catch up.

cinnamon-settings is not starting for me. Trying to run it from the command line yields…

Using pam module (python3-pampy)
Traceback (most recent call last):
File “/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py”, line 793, in
window = MainWindow()
File “/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py”, line 317, in init
self.init_settings_overview()
File “/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py”, line 325, in init_settings_overview
self.load_python_modules()
File “/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py”, line 494, in load_python_modules
for module in map(import, to_import):
File “/usr/share/cinnamon/cinnamon-settings/modules/cs_notifications.py”, line 4, in
gi.require_version(‘Notify’, ‘0.7’)
File “/usr/lib/python3.10/site-packages/gi/init.py”, line 129, in require_version
raise ValueError(‘Namespace %s not available for version %s’ %
ValueError: Namespace Notify not available for version 0.7

libnotify is now at 0.8 and cinnamon-settings is listed as a program that depends on it. Furthermore, checking the Arch repositories. cinnamon-setting was flagged as “out of date” as of today (7/15/22). (guake as well).

So, I suspect the fix is forthcoming…

1 Like

The update to libnotify seem to have broken a few applications for some users. For example here:

And here:

Oh well, “Zen, and the art of cutting-edge rolling release distro maintenance” :wink:

1 Like

A temporary workaround posted on Arch Forum:
https://bbs.archlinux.org/viewtopic.php?id=278077

2 Likes

Ok, I did consider trying something like that but didn’t have nerve. Now that I see it posted on the Arch forums though, what the heck…

I guess, you would then need to keep an eye on it for possible future “breakage” when there is an update to libnotify and perhaps to cinnamon-settings as well.

Another thing would be to downgrade libnotify and see if it will work, that is, if it won’t break anything that is already working with the new version :wink:

1 Like

Perhaps, but I’ll think I’ll give it a few days and see if the packages catch up first.

1 Like

Thanks for the link; same error here, but this dumb noob didn’t catch where to write those lines :grimacing: :rofl:

I don’t use cinnamon-settings too much, so I’ll wait for the next update and, if I need something from there, I’ll try to open it from the menu, some options are working.

1 Like

From the main Cinnamon Menu, select “Preferences” and you can get to the settings options that way as well.

  1. What is the command to downgrade?
  2. Even if one does that, next time you run yay -Syu it will get back upgraded and break the settings bit again. Is there a way to avoid that?

sudo downgrade PACKAGE

sudo nano /etc/pacman.conf

Remove # in front of the IgnorePkg line and add PACKAGE to it:

IgnorePkg = PACKAGE

Please note that this is not a long term solution. Only a temporary workaround in case PACKAGE needs to be kept back in order to avoiding a breakage until a fixed version is deployed.

In the case of libnotify, I am not having any issues (that I am aware of so far) so I haven’t downgraded it.

1 Like

Thanks for that. I am not sure if it is due to libnotify but when I click on system settings, it does not open, and I do use Cinnamon.

Seemingly, after updating libnotify to the latest versions, several applications which make use of libnotify need to be updated to take account of this new version.

See for example:

You may want to try the workaround posted on Arch Forum that I linked to previously. It boils down to editing this file and replacing 0.7 by 0.8.

Before you posted your latest reply, I went ahead and downgraded libnotify. And it worked on the settings bit.

I had looked at the page you linked to and could not make sense of it as to how to implement. When I look in /usr/share/cinnamon/cinnamon-settings/modules/, it is empty.

So, what part of the Arch page should I add? Just copy/paste all of what is in the manually editing box?

I am not on Cinnamon so I am afraid I can’t be of more help here.

According to the workaround posted on Arch Forum, the user needs to edit the following file:

/usr/share/cinnamon/cinnamon-settings/modules/cs_notifications.py

and change 0.7 to 0.8 in line 4 it seems:

gi.require_version('Notify', '0.7') >> gi.require_version('Notify', '0.8')

But you say you don’t have that file?

I am sorry, I do have that file.

This is what is in there:

!/usr/bin/python3

import gi
gi.require_version('Notify', '0.7')
from gi.repository import Notify

So, what I understand from the Arch page is that it should look like this:

!/usr/bin/python3

import gi
-gi.require_version('Notify', '0.7')
+gi.require_version('Notify', '0.8')
from gi.repository import Notify

in other words, add a - to the 1st gi line, then add the 2nd gi line, or do they mean:

just leave the gi line as it is, but change the 0.7 into 0.8, as you indicated above?

Just change 0.7 to 0.8:

gi.require_version('Notify', '0.7') >> gi.require_version('Notify', '0.8')

You said earlier that you had already downgraded libnotify. If you make the change above, you need to upgrade it again.

1 Like

Right. Presumably that is just a question of putting a hash (#) in front of the IgnorePkg = libnotify, correct?

Or just remove libnotify from there and update your system.

1 Like

OK, done, and system settings works as before.
Thanks so much for your help. You are amazing!

2 Likes