Standalone

In other desktop environments, the notification server needs to be launched using your WM's/DE's "autostart" option.

After installing the notification-daemon package, the notification server can be launched on the first call via D-Bus, adding the following configuration to its services directory
/usr/share/dbus-1/services respectively $XDG_DATA_HOME/dbus-1/services, e.g.

Tips and tricks

Replace previous notification

Notifications can be replaced if their ID is known; if a new notification request specifies the same ID, it will always replace the old notification. (The libnotify bindings shown above handle this automatically.) Unfortunately notify-send does not report this ID, so alternative tools are required to do this on CLI. One capable CLI-tool is the notify-send.py python script, which provides notify-send syntax with additional ID-reporting and replacing capabilities.

However, with some notification servers (such as Notify-OSD), you can use the string:x-canonical-private-synchronous: hint with notify-send to achieve the same result.