Mostrar notificaciones emergentes desde la consola

A veces es útil mostrar algún tipo de notificación gráfica para informarte, por ejemplo, de cuándo se ha terminado una tarea. Las notificaciones emergentes de Ubuntu, añadidas hace un par de versiones, son una muy buena opción.

Dos opciones, (1) instalarnos esta librería de perl libnet-dbus-perl, y nos ponemos esta función en nuestro ~/.bashrc

function notify()
{
    perl -e "use Net::DBus; my \$sessionBus = Net::DBus->session; my \$notificat
ionsService = \$sessionBus->get_service('org.freedesktop.Notifications'); my \$n
otificationsObject = \$notificationsService->get_object('/org/freedesktop/Notifi
cations', 'org.freedesktop.Notifications'); my \$notificationId; \$notificationI
d = \$notificationsObject->Notify(shift, 0, '', '$1', '$2', [], {}, -1);"
}
$ notify foooooooo baaarrr

notify

El primer parámetro es el título y el segundo el contenido.

Otra forma (2) todavía más fácil es instalarnos el paquete libnotify-bin, el cual contiene el binario notify-send que hace justamente esto. Probablemente la primera solución nos servirá para cualquier distro, mientras que la segunda solo en debian, ubuntu y derivados. Ambas funcionan exactamente igual y sin problemas.

3 Thoughts on “Mostrar notificaciones emergentes desde la consola

  1. zenity –notification –text “foo bar?” No es lo mismo?
    http://library.gnome.org/users/zenity/stable/zenity-notification-options.html.es

    De todas formas, todo lo que lleve Perl, sabe mejor 🙂

    • No, no lo es. Esas notificaciones se ponen en el área de notificaciones con un icono, y estas son una notificación que sale como pop-up y desaparece al tiempo.

  2. Realmente útil si señor. Yo de normal utilizo libnotify, pero esto puede ser más polivalente 😛
    Por cierto, un enlacillo hacia la especificación nunca viene mal:
    http://www.galago-project.org/specs/notification/0.9/x408.html#command-notify

    También es aconsejable echarle un ojo a esto (solo para curiosos):
    https://wiki.ubuntu.com/NotifyOSD

Post Navigation