web-dev-qa-db-fra.com

Est-il possible d'annuler ou d'effacer une notification créée à l'aide de notify-send?

J'ai donc écrit un petit script qui s'assure qu'un certain utilisateur branche un ordinateur portable lorsqu'il se connecte (il le désactive s'il ne le fait pas). Le script utilise notify-send pour lui dire de le brancher. S'il le branche, le script se ferme. Est-il possible d'effacer automatiquement la notification lorsqu'il la branche? Je pense qu'il serait peut-être nécessaire d'obtenir l'identifiant du processus en envoyant notification et envoi et en éliminant ce PID, mais je ne sais pas comment procéder.

Voici le script actuel:

#!/bin/bash 

cat /sys/class/power_supply/BAT0/status
OUTPUT="$(cat /sys/class/power_supply/BAT0/status)"
echo "${OUTPUT}"
if [ "${OUTPUT}" = "Charging" ] || [ "${OUTPUT}" = "Unknown" ]; then
    echo charging or full
Elif [ "${OUTPUT}" = "Discharging" ]; then
    notify-send -i /home/evamvid/Documents/Programming/OokiNoUse/power25.png "Hey there brother" "plug it in"
    COUNTER=0
while [ "$COUNTER" -le 12 ]
do
    cat /sys/class/power_supply/BAT0/status
    OUTPUT="$(cat /sys/class/power_supply/BAT0/status)"
    echo "${OUTPUT}"
    if [ "${OUTPUT}" = "Charging" ] || [ "${OUTPUT}" = "Unknown" ]; then
        exit
    Elif [ "${OUTPUT}" = "Discharging" ]; then
        COUNTER=$(($COUNTER+1))
        echo $COUNTER
        sleep 1
    fi
done
fi
5
evamvid

Le processus que vous recherchez est notify-osd. Vous pouvez le tuer soit par la commande:

pkill notify-osd

ou par son pid:

kill $(ps -e | grep notify-osd | awk '{ print $1 }')

ou encore mieux, comme suggéré par @kos (merci!), en utilisant pgrep:

kill $(pgrep ^notify-osd$)
6
Jacob Vlijm

J'utilise menthe MATE 17 Le processus est répertorié (exemple) 15107? Sl 0:00/usr/lib/démon-notification-démon/démon-notification-démon

J'ai essayé pkill comme $ pkill mate-notification-daemon et même $ pkill mate-notification et je n'ai pas fonctionné. Cependant, si j'ai tronqué le mot "notification", cela a fonctionné: $ pkill mate-notificati L'ajout du "on" au mot empêche son fonctionnement. Je ne sais pas pourquoi J'imagine que cela concernerait également les éditions Ubuntu MATE.

0
Ramon Gandia