Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to help out with some Ubuntu dev and I have chosen a "papercut" that affects the notify-osd project.

However, I am confused as I am not sure what installing notify-osd does as the actual daemon (notify-send) is installed from the libnotify package.

Can someone shed some light on how these fit together?


share|improve this question
What little i understand, notify-osd is the actual pop-up, the daemon, notify-send does that.. it sends the message to notify-osd to show, libnotify is the libraries as you may have figured it out. – Uri Herrera Jul 3 '11 at 8:14
up vote 9 down vote accepted

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.

share|improve this answer
Thanks for clarifying that. – SuperJumbo Jul 8 '11 at 0:50
So, you link your app to libnotify (<python-libnotify> for example if you are using python) by including the headers and programming against them, then when you compile your binary it will include those libraries and be able to call to notify-osd daemon? – SuperJumbo Jul 9 '11 at 3:48
You don't technically need to link against either libnotify - you could call the appropriate D-Bus methods yourself. That's broadly correct, though. Your binary will link to libnotify, and it will communicate with the notify-osd daemon. – RAOF Sep 10 '11 at 19:36

notify-osd is a background daemon listening messages from apps. notify-send is a Bash program that make posible to send messages using notifyosd. notify-osd main purpose is for programming languages via libnotify (ie: python-libnotify)

share|improve this answer
Ok, so <some-language>-libnotify is a D-BUS interface that apps use to communicate with Notify-osd and display messages to the screen? – SuperJumbo Jul 4 '11 at 0:53

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.