Notify-osd and libnotify: how do they cooperate?
Solution 1:
notify-osd
(like the standard notification-daemon and GNOME Shell) implements the Desktop Notifications Specification, which specifies a DBus interface for applications to talk to.
libnotify
is a C library providing an API for applications to create and manage notifications; it uses DBus internally to talk to the notification daemon.
notify-send
is a tiny commandline application which uses libnotify to show notifications.