J'aurais aimé remarquer ce fil il y a des années. Ma solution était essentiellement la même que celle de Slhck, mais j'ai écrit un script. Je l'utilise tout le temps. Je poste ici pour le partager.
#!/bin/bash
msg='all done'
quiet=false
if [ "$1" = '-q' ]; then quiet=true; shift; fi
if [ $# -gt 0 ]; then msg="$*"; fi
echo -ne "\x1b]0;$msg\a"
if [ -x /usr/bin/zenity ]; then
unset WINDOWID
exec zenity --info --text="$msg"
elif [ -x /usr/bin/xmessage ]; then
exec xmessage -nearmouse "$msg"
elif [ -x /usr/bin/osascript ]; then
if ! $quiet; then say "done" &; fi
osascript -e "tell application \"System Events\" to display dialog \"$msg\""
else
echo $msg
fi
Une petite explication : la chaîne "\x1b]0;$msg\a"
est la séquence d'échappement ANSI permettant d'afficher le message dans la barre de titre de la fenêtre à partir de laquelle il a été exécuté. Je trouve parfois très pratique de pouvoir voir de quelle fenêtre provient le message.