The answer is to use sd_bus_match_signal(3) to set up a filter for events.
You listen for events by doing one of:
sd_bus_wait(3) to block until events happen and sd_bus_process(3) to handle them.
Connect sd-bus to the sd-event loop with sd_bus_attach_event(3) (you might need to set up the sd-event loop too).
Use sd_bus_get_fd(3), sd_bus_get_events(3) and ...
I just disabled and masked firewalld and went back to IPTables.
No problems after that.
I had to change fail2ban to work with IPTables by commenting out :
in /etc/fail2ban/jail.d/00-firewalld.conf - Do not delete the file.
Then I setup a new service to save and restore IPTables on shutdown and reboot as I describe here:
In org.freedesktop.systemd1.policy for :
try to replace the line
As per #don_crissti answers, I implemented, This solution gives to interface name and method and signals information
from xml.etree import ElementTree
bus = dbus.SystemBus()
return [ name for name in bus.list_names() if not name.startswith(":") ]
This may be a stupid answer ... but, gnome-keyring need access to a X11 session, at least to prompt your for the master key.
So, it's just impossible to make it run , by design ... isn't it ?
Maybe not that impossible.
See this post, looks similar to your problem:
There are various command-line tools to make dbus calls; systemd comes with one called busctl. So you can call StartTransientUnit from the command line.
The syntax is positively annoying, but it looks like this (for one process id, 14460):
busctl call --user org.freedesktop.systemd1 /org/freedesktop/systemd1 \