15

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.

0

2 Answers 2

19

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.
2
  • what about sudo notify-send foo bar?
    – acgbox
    Jan 19, 2023 at 16:30
  • @acgbox what about it? It should run under the user that has the desktop environment open, I believe
    – Evert
    Jun 25, 2023 at 2:11
4

The following also works

zenity --notification --window-icon=update.png --text "System update necessary!"

You must log in to answer this question.