Confiando en el comando notify-send he creado un script para que cualquier usuario pueda enviar mensajes a través de todos los escritorios de todos los usuarios actualmente logueados y usando una sesión X.

#!/bin/bash
PATH=/usr/bin:/bin

XUSERS=($(who|grep -E "\(:[0-9](\.[0-9])*\)"|awk '{print $1$5}'|sort -u))
for XUSER in $XUSERS; do
  NAME=(${XUSER/(/ })
  DISPLAY=${NAME[1]/)/}
  DBUS_ADDRESS=unix:path=/run/user/$(id -u ${NAME[0]})/bus
  sudo -u ${NAME[0]} DISPLAY=${DISPLAY} DBUS_SESSION_BUS_ADDRESS=${DBUS_ADDRESS} PATH=${PATH} notify-send "$@"
done

Considera instalar el paquete libnotify-bin en caso de que el comando notify-send no esté disponible en tu sistema.

También puede consultar la página de manual de notify-send para obtener instrucciones adicionales sobre cómo utilizar esta fantástica pieza de código.

Como ejemplo, si dejamos esta línea:

notify-send --urgency=normal --expire-time 1 "Heads up" "Incoming message…"

Nos da:

1

Que por supuesto, se pega a nuestro icono de notificación en la barra de tareas si lo tenemos activado:

2

Para quienes lo necesiten como referencia futura en caso de que se pierda esta entrada o este blog, pueden encontrarlo aquí:

https://github.com/aci686/Bash-Scripts/blob/master/notify-send-all.sh