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
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$)
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.