Comment puis-je envoyer une notification de bureau personnalisée?

98

J'ai un script personnalisé et je souhaite envoyer une notification de bureau (celle qui apparaît dans le coin supérieur droit de l'écran) avec un message personnalisé. Comment je fais ça?

janvier
la source

Réponses:

150

Il y a un tas d'autres fonctionnalités intéressantes avec notify-send

Nous pouvons exécuter une commande et l'afficher dans la notification:

notify-send <title> <`command`>
notify-send Date "`date`"
notify-send Disk "`df / -H`"

Nous pouvons utiliser des icônes avec les notifications

notify-send -i <icon> <Message>
notify-send -i face-wink "Hello! January"

Vraiment ennuyeux pop up

notify-send  -t 0 "Bringing down the system"

et

notify-send <title> <message>
notify-send "who am i" "I am January"

Pour plus d'options voir ici

devav2
la source
1
Je vous remercie. Où pouvons-nous obtenir une liste d'icônes, par exemple celles face-winkque vous avez utilisées?
Paddy Landau
3
Découvrez ma réponse ici
devav2
notify-send -t 0fonctionne mais notify-send "who am i" "I am January"ne fonctionne pas :( - Ubuntu 15.10
AlikElzin-kilaka
3
Travaillé avec--urgency=critical
AlikElzin-kilaka
Installation sur debian sudo apt install libnotify-bin.
user149244 le
18

Juste pour ajouter aux autres réponses, lorsque j'exécute la commande localement à partir de cron, j'utilise

DISPLAY=:0.0 /usr/bin/notify-send "TITLE" "MESSAGE"
CelticRaven
la source
12

Je suis tombé sur celui-ci par hasard. Réponse: utilisez le programme notify-send:

notify-send "Hello world!"
janvier
la source
3

J'ai créé un script simple et presque natif qui lit le son et affiche une notification avec un message et une heure donnés pour Ubuntu ( Gist ):

#!/bin/sh

# https://gist.github.com/John-Almardeny/04fb95eeb969aa46f031457c7815b07d
# Create a Notification With Sound with a Given Message and Time
# The Downloaded Sound is from Notification Sounds https://notificationsounds.com/

MSSG="$1"
TIME="$2"

# install wget if not found
if ! [ -x "$(command -v wget)" ]; then 
    echo -e "INSTALLING WGET...\n\n"
    sudo apt-get install wget
    echo -e "\n\n"
fi

# install at package if not found
if ! [ -x "$(command -v at)" ]; then
    echo -e "INSTALLING AT...\n\n"
    sudo apt-get install at
    echo -e "\n\n"
fi

# install sox if not found
if ! [ -x "$(command -v sox)" ]; then
    echo -e "INSTALLING SOX...\n\n"
    sudo apt-get install sox
    sudo apt-get install sox libsox-fmt-all
    echo -e "\n\n"
fi

# download the noti sound if this is first time
# add alias to the bashrc file
if ! [ -f ~/noti/sound.mp3 ]; then
    echo -e "DOWNLOADING SOUND...\n\n"
    touch ~/noti/sound.mp3 | wget -O ~/noti/sound.mp3 "https://notificationsounds.com/wake-up-tones/rise-and-shine-342/download/mp3"
    sudo echo "alias noti=\"sh ~/noti/noti.sh\"" >> ~/.bashrc
    source ~/.bashrc        
    echo -e "\n\n"
fi

# notify with the sound playing and particular given message and time
echo "notify-send \""$MSSG\"" && play ~/noti/sound.mp3" | at $TIME

Comment utiliser?

Première exécution - Mise en place:

  1. Créez un nouveau répertoire chez vous et appelez-le noti

    mkdir ~/noti
    
  2. Téléchargez noti.sh et extrayez-le dans le répertoire ci-dessus noti.

  3. Ouvrir le terminal et changer de répertoire pour noti

    cd ~/noti
    
  4. Rendre noti.sh exécutable en émettant:

    sudo chmod +x noti.sh
    
  5. Exécutez un test comme ceci:

    sh ~/noti/noti.sh "Test" "now"
    

Exemples

noti "Hello From Noti" "now +1 minute"
noti "Hello From Noti" "now +5 minutes"
noti "Hello From Noti" "now + 1 hour"
noti "Hello From Noti" "now + 2 days"
noti "Hello From Noti" "4 PM + 2 days"
noti "Hello From Noti" "now + 3 weeks"
noti "Hello From Noti" "now + 4 months"
noti "Hello From Noti" "4:00 PM"
noti "Hello From Noti" "2:30 AM tomorrow"
noti "Hello From Noti" "2:30 PM Fri"
noti "Hello From Noti" "2:30 PM 25.07.18"

Pour notifier la fin du processus (exemple)

sudo apt-get update; noti "Done" "now"
Yahya
la source