Bug#974949: systray-mdstat: fails to start with org.freedesktop.DBus.Error.ServiceUnknown
Control: tag -1 - moreinfo On Tue, 17 Nov 2020 20:36:50 +0100 Axel Beckert wrote: [...] > Francesco Poli wrote: [...] > > [notify-osd](https://packages.debian.org/sid/amd64/notify-osd/filelist) > > does not seem to. > > Indeed, thanks! > > > On the other hand, > > [xfce4-notifyd](https://packages.debian.org/sid/amd64/xfce4-notifyd/filelist) > > seems to ship one. > > That one clearly works. :-) > > > Should I give systray-mdstat/1.2.0-1 another try, after installing > > xfce4-notifyd? > > Yes, please, at least for the checking other issue which I assume that > it is solved with the upload. Let's try: $ apt policy xfce4-notifyd xfce4-notifyd: Installed: 0.6.1-1 Candidate: 0.6.1-1 Version table: *** 0.6.1-1 800 800 http://deb.debian.org/debian testing/main amd64 Packages 500 http://deb.debian.org/debian unstable/main amd64 Packages 100 /var/lib/dpkg/status $ apt policy systray-mdstat systray-mdstat: Installed: 1.2.0-1 Candidate: 1.2.0-1 Version table: *** 1.2.0-1 500 500 http://deb.debian.org/debian unstable/main amd64 Packages 100 /var/lib/dpkg/status 1.1.0-1 800 800 http://deb.debian.org/debian testing/main amd64 Packages $ systray-mdstat & [1] 16468 $ It does not complain and it produces a notification, as shown in the attached xfce4-notifyd_screenshot.png ! [...] > Hm, now that I think about. Could this issue be also the reason > for your initially reported issues in #886419, just that > Desktop::Notify is less tolerant about this? $ apt policy systray-mdstat systray-mdstat: Installed: 1.1.0-1 Candidate: 1.1.0-1 Version table: 1.2.0-1 500 500 http://deb.debian.org/debian unstable/main amd64 Packages *** 1.1.0-1 800 800 http://deb.debian.org/debian testing/main amd64 Packages 100 /var/lib/dpkg/status $ systray-mdstat & [1] 13746 no notify because setup failed: $ killall -TERM systray-mdstat [1] Terminated systray-mdstat $ /usr/lib/notification-daemon/notification-daemon & [2] 13767 $ systray-mdstat & [3] 13782 no notify because setup failed: $ killall -TERM systray-mdstat [3]+ Terminated systray-mdstat $ killall -TERM notification-daemon [2]+ Terminated /usr/lib/notification-daemon/notification-daemon It complains even when notification-daemon is running... [...] > A potential third variant, but much more ugly in implementation, would > be to rely on passing the messages to /usr/bin/notify-send on the > commandline or STDIN, i.e. forking for every notification. I agree that this would _not_ be an elegant solution! [...] > Which actually leads me to the suspicion that maybe the cause is that > notification-daemon is not running on your desktop system for whatever > reason (like using a classic X Window Manager which doesn't care about > autostart desktop files — which I consider to be a totally valid > reason btw. :-) I use Fluxbox as a standalone window manager: I don't use a full desktop environment. I start my X session with startx and a custom ~/.xsession file. > > And since you have none of the other notification daemons installed, > which could be activated over D-Bus automatically, the reported issue > sounds like a probable outcome of that scenario. > > > > Could you check on your system if > /usr/lib/notification-daemon/notification-daemon is actually running? > > It is not! I get not output from: $ ps aux | grep notification-daemo[n] $ > > If it is not running, we have found the cause (dependency still > missing, though :-) and I probably should catch that case in > systray-mdstat. Let's try the following: $ apt policy systray-mdstat systray-mdstat: Installed: 1.2.0-1 Candidate: 1.2.0-1 Version table: *** 1.2.0-1 500 500 http://deb.debian.org/debian unstable/main amd64 Packages 100 /var/lib/dpkg/status 1.1.0-1 800 800 http://deb.debian.org/debian testing/main amd64 Packages $ systray-mdstat & [1] 15080 org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files [1]+ Exit 11 systray-mdstat $ /usr/lib/notification-daemon/notification-daemon & [1] 15081 $ systray-mdstat & [2] 15085 $ It does not complain and it produces a notification, as shown in the attached notification-daemon_screenshot.png ! Should I add: /usr/lib/notification-daemon/notification-daemon & somewhere near the beginning of my ~/.xsession file? And: killall -TERM notification-daemon somewhere near the end of my ~/.xsession file? Or should I install xfce4-notifyd and have it autostarted via DBus? > > I nevertheless think that this then would be a bug in > notification-daemon as it only starts properly depending on the > desktop environment. If there's a way to automatically start
Bug#974949: systray-mdstat: fails to start with org.freedesktop.DBus.Error.ServiceUnknown
Control: tag -1 + moreinfo Hi Francesco, (Hint: The reason for the moreinfo tag is near the end of the mail.) Francesco Poli wrote: > > So despite it's name "notification-daemon" looking like being the most > > generic one of all of them, it looks to me as if it does not to > > provide that interface. Very unexpected. [...] > I found [bug #918385](https://bugs.debian.org/918385), which seems to > request this .service file. Thanks! > Sadly, it looks like it's still unaddressed. No comment. > > So > > https://codesearch.debian.net/search?q=Name%3Dorg.freedesktop.Notifications > > leads to this package list: > > > > ukui-notification-daemon > > deepin-notifications > > plasma-workspace > > mako-notifier > > xfce4-notifyd > > mate-notification-daemon > > notify-osd > > But not all of them actually ship a .service file: And actually dunst is missing in that list. Maybe it constructs the .service file I found on my system only during the package build. JFTR: On my system, it seems to be xfce4-notifyd which is running (a few other notification daemons are installed via dependencies, too). So I'm quite sure that it at least works with xfce4-notifyd. IIRC I used dunst in the past for a while, too. So I assume that one still works, too. > [notify-osd](https://packages.debian.org/sid/amd64/notify-osd/filelist) > does not seem to. Indeed, thanks! > On the other hand, > [xfce4-notifyd](https://packages.debian.org/sid/amd64/xfce4-notifyd/filelist) > seems to ship one. That one clearly works. :-) > Should I give systray-mdstat/1.2.0-1 another try, after installing > xfce4-notifyd? Yes, please, at least for the checking other issue which I assume that it is solved with the upload. > Or maybe I should try with: > [ukui-notification-daemon](https://packages.debian.org/sid/amd64/ukui-notification-daemon/filelist) ukui-notification-daemon und deepin-notifications come from cultural (IIRC Russian and Chinese) focussed desktop environments, so I'm not sure what actually makes them different from (an older) GNOME or MATE notification daemon. But yeah, would be interesting to know if and only if it works if such a file is present. Hm, now that I think about. Could this issue be also the reason for your initially reported issues in #886419, just that Desktop::Notify is less tolerant about this? > > So a short-term workaround seems to depend on only an alternative list > > of these notification daemons. > > Well, please check which of them actually ship the required .service > file, first... Good point, yes. Codesearch just searches through the source code and not every source code in there is used in the actual binary packages. > > Not sure though if it's really related, because the commit message > > seems to sound more like they just disabled starting > > notification-daemon via D-Bus and starred it always by default. > > Mmmh, I do not know for sure, because I am totally ignorant about > notification daemons, Well, yeah, similar here. :-) > but that commit seems to explain that DBus activation causes issues. Well, it more refers to problems, but doesn't really explain anything. Which doesn't really help much in understanding what actually caused them to remove that. > And it seems to say that a .desktop file may be used instead (?). Yes. Which does autostart notification-daemon. But even then: How do they communicate. I though GNOME does nearly everything via D-Bus nowadays. > Is there a way for systray-mdstat to use the .desktop interface, rather > than the .service interface? Well, it's actually the D-Bus interface. D-Bus just happens to use .service files like systemd, but it still seems to be something different. The Perl module Desktop::Notify which I switched to (because it seemed to work better than the old implementation in Glib::Object::Introspection) hasn't seen much love in the past few years, so I suspect it hasn't been adapted to whatever GNOME's notification-daemon now uses to communicate with it. At least the documentation clearly says: This module serves the same purpose as "libnotify", in an object-oriented Perl interface. It is not, however, an interface to "libnotify" itself, but a separate implementation of the specification using Net::DBus. So I strongly assume it only works via D-Bus. A potential third variant, but much more ugly in implementation, would be to rely on passing the messages to /usr/bin/notify-send on the commandline or STDIN, i.e. forking for every notification. Would have the advantage that it uses a more maintained library, at least. (I think.) Then again, libnotify's package descriptions contain the phrase "sends desktop notifications to a notification daemon, as defined in the Desktop Notifications spec". That spec seems to be this one: https://developer.gnome.org/notification-spec/ And this clearly states "all notifications are controlled by a single session-scoped service which exposes a D-BUS interface." So it's still a D-Bus thing
Bug#974949: systray-mdstat: fails to start with org.freedesktop.DBus.Error.ServiceUnknown
On Tue, 17 Nov 2020 16:38:42 +0100 Axel Beckert wrote: [...] > Francesco Poli wrote: [...] > > Package notification-daemon does not seem to ship any *.service file: > > > > $ dpkg -L notification-daemon | grep -i service > > But other notification daemons seem to do. > > So despite it's name "notification-daemon" looking like being the most > generic one of all of them, it looks to me as if it does not to > provide that interface. Very unexpected. I see. I found [bug #918385](https://bugs.debian.org/918385), which seems to request this .service file. Sadly, it looks like it's still unaddressed. > > > P.S.: I dropped the moreinfo tag, but, of course, feel free to re-set > > it, in case you need any other answer from me! > > Perfectly fine. Need to think about this and investigate further. > > So > https://codesearch.debian.net/search?q=Name%3Dorg.freedesktop.Notifications > leads to this package list: > > ukui-notification-daemon > deepin-notifications > plasma-workspace > mako-notifier > xfce4-notifyd > mate-notification-daemon > notify-osd But not all of them actually ship a .service file: [notify-osd](https://packages.debian.org/sid/amd64/notify-osd/filelist) does not seem to. On the other hand, [xfce4-notifyd](https://packages.debian.org/sid/amd64/xfce4-notifyd/filelist) seems to ship one. Should I give systray-mdstat/1.2.0-1 another try, after installing xfce4-notifyd? Or maybe I should try with: [ukui-notification-daemon](https://packages.debian.org/sid/amd64/ukui-notification-daemon/filelist) > > So a short-term workaround seems to depend on only an alternative list > of these notification daemons. Well, please check which of them actually ship the required .service file, first... > > It's though clearly not all notification-daemons in Debian. At least > lxqt-notificationd and some window manager/desktop environments seem > to provide "notification-daemon", but not have such a file, too. > > But since at least ukui-notification-daemon, deepin-notifications and > mate-notification-daemon are AFAIK based on GNOME's > notification-daemon, I tried to find something in it's changelog, > but I only found this in the upstream changelog from 2011 (!): > > NEW in 0.7.1: > == > - Don't use DBus activation > > And this upstream commit: > > commit 1ad20d22098bc7718614a8a87744a2c22d5438d0 > Author: Matthias Clasen > Date: Tue Feb 15 09:52:11 2011 -0500 > > Don't use dbus activation > > Dbus activation causes a race with gnome-shell at session startup. > Instead, install a regular desktop file, so we can make > notification-daemon a required component of the fallback session. > Finally, install notification-daemon in bindir to avoid fiddling > with libexecdir when generating the desktop file. > > data/Makefile.am | 8 +--- > data/notification-daemon.desktop.in | 7 +++ > data/org.freedesktop.Notifications.service.in | 3 --- > src/Makefile.am | 2 +- > 4 files changed, 13 insertions(+), 7 deletions(-) > > Not sure though if it's really related, because the commit message > seems to sound more like they just disabled starting > notification-daemon via D-Bus and starred it always by default. Mmmh, I do not know for sure, because I am totally ignorant about notification daemons, but that commit seems to explain that DBus activation causes issues. And it seems to say that a .desktop file may be used instead (?). Is there a way for systray-mdstat to use the .desktop interface, rather than the .service interface? > > But maybe I'm also looking at the wrong place. At least > "org.freedesktop.Notifications" shows up all over > notification-daemon's source code: > https://codesearch.debian.net/search?q=package%3Anotification-daemon+org.freedesktop.Notifications+package%3A%5CQnotification-daemon%5CE=1 > > Then again, not having such a service file seems to fit with your > observations. Maybe there's another way to access the org.freedesktop.Notifications interface, without relying on the .service file. I don't know! I suspect it is worth researching in this direction... > > Since I'm neither well-versed in GNOME stuff nor in D-Bus stuff, I'm > bit out of (better) ideas at the moment. I am sure you are way more knowledgeable than me about this subject. It probably just needs a little more research, and you'll figure everything out! :-) -- http://www.inventati.org/frx/ There's not a second to spare! To the laboratory! . Francesco Poli . GnuPG key fpr == CA01 1147 9CD2 EFDF FB82 3925 3E1C 27E1 1F69 BFFE pgp0ibV4YFdcY.pgp Description: PGP signature
Bug#974949: systray-mdstat: fails to start with org.freedesktop.DBus.Error.ServiceUnknown
Hi Francesco, Francesco Poli wrote: > > > I have notification-daemon installed on my system: > > > > That's strange. > > > > Can you send me the output of this command on the system where this > > happened? > > > > $ fgrep org.freedesktop.Notifications /usr/share/dbus-1/services/*.service > > $ fgrep org.freedesktop.Notifications /usr/share/dbus-1/services/*.service > $ fgrep -i org.freedesktop.Notifications > /usr/share/dbus-1/services/*.service > $ fgrep -i Notification /usr/share/dbus-1/services/*.service > $ > > No output at all. Ok, that's _not_ what I expected and hence leads us closer. > Which file did you expect me to find? Something like this: $ fgrep org.freedesktop.Notifications /usr/share/dbus-1/services/*.service /usr/share/dbus-1/services/com.deepin.dde.freedesktop.Notification.service:Nameorg.freedesktop.Notifications /usr/share/dbus-1/services/org.freedesktop.mate.Notifications.service:Name=org.freedesktop.Notifications /usr/share/dbus-1/services/org.kde.plasma.Notifications.service:Name=org.freedesktop.Notifications /usr/share/dbus-1/services/org.kde.plasma.Notifications.service:Exec=/usr/bin/plasma_waitforname org.freedesktop.Notifications /usr/share/dbus-1/services/org.knopwob.dunst.service:Name=org.freedesktop.Notifications /usr/share/dbus-1/services/org.xfce.xfce4-notifyd.Notifications.service:Name=org.freedesktop.Notifications > Package notification-daemon does not seem to ship any *.service file: > > $ dpkg -L notification-daemon | grep -i service But other notification daemons seem to do. So despite it's name "notification-daemon" looking like being the most generic one of all of them, it looks to me as if it does not to provide that interface. Very unexpected. > P.S.: I dropped the moreinfo tag, but, of course, feel free to re-set > it, in case you need any other answer from me! Perfectly fine. Need to think about this and investigate further. So https://codesearch.debian.net/search?q=Name%3Dorg.freedesktop.Notifications leads to this package list: ukui-notification-daemon deepin-notifications plasma-workspace mako-notifier xfce4-notifyd mate-notification-daemon notify-osd So a short-term workaround seems to depend on only an alternative list of these notification daemons. It's though clearly not all notification-daemons in Debian. At least lxqt-notificationd and some window manager/desktop environments seem to provide "notification-daemon", but not have such a file, too. But since at least ukui-notification-daemon, deepin-notifications and mate-notification-daemon are AFAIK based on GNOME's notification-daemon, I tried to find something in it's changelog, but I only found this in the upstream changelog from 2011 (!): NEW in 0.7.1: == - Don't use DBus activation And this upstream commit: commit 1ad20d22098bc7718614a8a87744a2c22d5438d0 Author: Matthias Clasen Date: Tue Feb 15 09:52:11 2011 -0500 Don't use dbus activation Dbus activation causes a race with gnome-shell at session startup. Instead, install a regular desktop file, so we can make notification-daemon a required component of the fallback session. Finally, install notification-daemon in bindir to avoid fiddling with libexecdir when generating the desktop file. data/Makefile.am | 8 +--- data/notification-daemon.desktop.in | 7 +++ data/org.freedesktop.Notifications.service.in | 3 --- src/Makefile.am | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-) Not sure though if it's really related, because the commit message seems to sound more like they just disabled starting notification-daemon via D-Bus and starred it always by default. But maybe I'm also looking at the wrong place. At least "org.freedesktop.Notifications" shows up all over notification-daemon's source code: https://codesearch.debian.net/search?q=package%3Anotification-daemon+org.freedesktop.Notifications+package%3A%5CQnotification-daemon%5CE=1 Then again, not having such a service file seems to fit with your observations. Since I'm neither well-versed in GNOME stuff nor in D-Bus stuff, I'm bit out of (better) ideas at the moment. Regards, Axel -- ,''`. | Axel Beckert , https://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Bug#974949: systray-mdstat: fails to start with org.freedesktop.DBus.Error.ServiceUnknown
Control: tag -1 - moreinfo On Tue, 17 Nov 2020 12:58:17 +0100 Axel Beckert wrote: [...] > Francesco Poli wrote: [...] > > I have notification-daemon installed on my system: > > That's strange. > > Can you send me the output of this command on the system where this > happened? > > $ fgrep org.freedesktop.Notifications /usr/share/dbus-1/services/*.service $ fgrep org.freedesktop.Notifications /usr/share/dbus-1/services/*.service $ fgrep -i org.freedesktop.Notifications /usr/share/dbus-1/services/*.service $ fgrep -i Notification /usr/share/dbus-1/services/*.service $ No output at all. Which file did you expect me to find? Package notification-daemon does not seem to ship any *.service file: $ dpkg -L notification-daemon | grep -i service $ > > TIA! Thanks to you! P.S.: I dropped the moreinfo tag, but, of course, feel free to re-set it, in case you need any other answer from me! -- http://www.inventati.org/frx/ There's not a second to spare! To the laboratory! . Francesco Poli . GnuPG key fpr == CA01 1147 9CD2 EFDF FB82 3925 3E1C 27E1 1F69 BFFE pgpeDg4VhBAg_.pgp Description: PGP signature
Bug#974949: systray-mdstat: fails to start with org.freedesktop.DBus.Error.ServiceUnknown
Control: tag -1 + moreinfo Hi Francesco, Francesco Poli wrote: > > > > $ org.freedesktop.DBus.Error.ServiceUnknown: The name > > > > org.freedesktop.Notifications was not provided by any .service files > > > > Seems to be a missing dependency on notification-daemon. > > I have notification-daemon installed on my system: That's strange. Can you send me the output of this command on the system where this happened? $ fgrep org.freedesktop.Notifications /usr/share/dbus-1/services/*.service TIA! Regards, Axel -- ,''`. | Axel Beckert , https://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Bug#974949: systray-mdstat: fails to start with org.freedesktop.DBus.Error.ServiceUnknown
On Tue, 17 Nov 2020 01:30:19 +0100 Axel Beckert wrote: > Hi Francesco, Hi Axel! Thanks for your prompt reply. > > Axel Beckert wrote: > > Francesco Poli (wintermute) wrote: > > > $ systray-mdstat & > > > [1] 64881 > > > $ org.freedesktop.DBus.Error.ServiceUnknown: The name > > > org.freedesktop.Notifications was not provided by any .service files > > Seems to be a missing dependency on notification-daemon. I have notification-daemon installed on my system: $ apt policy notification-daemon notification-daemon: Installed: 3.20.0-4 Candidate: 3.20.0-4 Version table: *** 3.20.0-4 800 800 http://deb.debian.org/debian testing/main amd64 Packages 500 http://deb.debian.org/debian unstable/main amd64 Packages 100 /var/lib/dpkg/status Hence, I would say that adding a dependency on notification-daemon won't change anything... > > I though wonder how the 1.1.0 version then worked without. :-) notification-daemon was already installed. -- http://www.inventati.org/frx/ There's not a second to spare! To the laboratory! . Francesco Poli . GnuPG key fpr == CA01 1147 9CD2 EFDF FB82 3925 3E1C 27E1 1F69 BFFE pgp7GgpjvCHAX.pgp Description: PGP signature
Bug#974949: systray-mdstat: fails to start with org.freedesktop.DBus.Error.ServiceUnknown
Hi Francesco, Axel Beckert wrote: > Francesco Poli (wintermute) wrote: > > $ systray-mdstat & > > [1] 64881 > > $ org.freedesktop.DBus.Error.ServiceUnknown: The name > > org.freedesktop.Notifications was not provided by any .service files Seems to be a missing dependency on notification-daemon. I though wonder how the 1.1.0 version then worked without. :-) Anyway, will fix it, but maybe no more this night. Regards, Axel -- ,''`. | Axel Beckert , https://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Bug#974949: systray-mdstat: fails to start with org.freedesktop.DBus.Error.ServiceUnknown
Hi Francesco, Francesco Poli (wintermute) wrote: > $ systray-mdstat & > [1] 64881 > $ org.freedesktop.DBus.Error.ServiceUnknown: The name > org.freedesktop.Notifications was not provided by any .service files > > [1]+ Exit 11 systray-mdstat > > This seems to render the package unusable. Thanks for the bug report! This looks like there's still a dependency missing for the new backend. Probably something related to D-Bus. > Please investigate and fix the bug. For sure! :-) Thanks again! Regards, Axel -- ,''`. | Axel Beckert , https://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Bug#974949: systray-mdstat: fails to start with org.freedesktop.DBus.Error.ServiceUnknown
Package: systray-mdstat Version: 1.2.0-1 Severity: grave Justification: renders package unusable Hello, I've just given the new version from unstable a try. It seems to completely fail to start: $ systray-mdstat & [1] 64881 $ org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files [1]+ Exit 11 systray-mdstat This seems to render the package unusable. I am setting grave severity accordingly: this should prevent migration to testing, until the bug is fixed. Please investigate and fix the bug. Thanks! -- System Information: Debian Release: bullseye/sid APT prefers testing APT policy: (800, 'testing'), (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 5.9.0-1-amd64 (SMP w/4 CPU threads) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages systray-mdstat depends on: ii libdesktop-notify-perl 0.05-2 ii libfile-sharedir-perl 1.118-1 ii libgtk3-perl0.037-1 ii libtry-tiny-perl0.30-1 ii perl5.30.3-4 systray-mdstat recommends no packages. Versions of packages systray-mdstat suggests: ii fbpanel 7.0-4+b1 pn smart-notifier -- no debconf information