Ubuntu – How to call desktop notifications on Ubuntu GNOME

gnomenotification

I was wondering how exactly one makes a desktop notification come up on Ubuntu GNOME 15.10 with GNOME 3.18? What I mean is how do I get one of these desktop notifications to come up with text that I have specified?:

enter image description here

It would be useful if I could execute a command or script that could do this so that I would be able to get notified about things in my system.

Best Answer

In the same way as also in GNOME 3.16 and in other desktop environments. The notifications can be sent via a notification daemon from the command line.

The command is part of the package libnotify-bin and is installed by the *-desktop meta-packages.

The dependencies are libc6, libglib2.0-0, libnotify4. Run strace to see the way of your notification:

% strace -e open notify-send foo bar 
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/x86_64-linux-gnu/libnotify.so.4", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/x86_64-linux-gnu/libffi.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libpcre.so.3", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libselinux.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3

To send your own notification

notify-send foo bar

From man notify-send:

SYNOPSIS
       notify-send [OPTIONS] <summary> [body]

OPTIONS
       -u, --urgency=LEVEL Specifies the urgency level (low, normal,
            critical).

       -t, --expire-time=TIME
            The duration, in milliseconds, for the notification to appear
            on screen.  (Ubuntu's Notify OSD and GNOME Shell both ignore
            this parameter.)

       -i, --icon=ICON[,ICON...]
             Specifies an icon filename or stock icon to display.

       -c, --category=TYPE[,TYPE...]
             Specifies the notification category.

          Help options:

       -?, --help
             Show this help message

       -h, --hint=TYPE:NAME:VALUE
             Specifies basic extra data to pass. Valid types are int,
             double, string and byte.