I want to get notifications via dbus when the system resumes from suspended state. Following these existing questions:
- What DBus signal is sent on system suspend?
- How do I detect when my system wakes up from suspend via DBus or similar in a python app?
But none of the examples found in the links above fire when I suspend or resume. dbus-monitor does not see anything either:
dbus-monitor --system "type='signal',interface='org.freedesktop.UPower'"
I also tried using this code to fire the signal manually (easier):
#taken from /usr/lib/systemd/system/upower.service
dbus-send --system --type=signal --dest=org.freedesktop.UPower \
/org/freedesktop/UPower org.freedesktop.UPower.Resuming
Same result. I must be missing something really obvious. Fedora 20 x86_64. (dbus is installed, running and working fine AFAICT) Fedora 20 uses logind, but I cannot see any 'Resuming' signal there. Suspend and resume is difficult to test with VirtualBox, so I can't really compare with other OSes.
Interestingly, qdbus sees lots of services (org.gnome.SessionManager, etc..) , but nothing power related, but then again, it doesn't see login1 either..
qdbus | grep -i power | wc -l
0
According to this answer to the same question on the devkit mailing list used by upower, newer versions no longer emit that signal since this handled by systemd.
The replacement in systemd-land is logind, which has a signal called PrepareForSleep: "The PrepareForShutdown() resp. PrepareForSleep() signals are sent right before (with the argument True) and after (with the argument False) the system goes down for reboot/poweroff, resp. suspend/hibernate."
Here is a simple python script for watching suspend / resume events:
The above answer helped me a lot! But in case someone needs a Qt version...