Можно ли отменить или удалить уведомление, созданное с помощью notify-send?
Поэтому я написал небольшой скрипт, который гарантирует, что определенный пользователь подключается к ноутбуку при входе в систему (он отключается, если он этого не делает). Сценарий использует команду notify-send, чтобы сказать ему, чтобы он подключился. Если он подключит его, сценарий закроется. Можно ли автоматически удалить уведомление, когда он его подключит? Я думаю, что может потребоваться каким-то образом получить идентификатор процесса путем уведомления-отправки и уничтожения этого PID, но я не знаю, как это сделать.
Вот текущий скрипт:
#!/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
1 ответ
Процесс, который вы ищете notify-osd
, Вы можете убить его любой командой:
pkill notify-osd
или его pid:
kill $(ps -e | grep notify-osd | awk '{ print $1 }')
или, что еще лучше, как подсказывает @kos (спасибо!), используя pgrep
:
kill $(pgrep ^notify-osd$)
Или же, если вы вообще не хотите, чтобы уведомление отображалось в истории уведомлений, вы можете попробовать:
notify-send --hint int:transient:1 "Title" "Body"
Я использую Mint MATE 17 Процесс указан (пример) 15107? Sl 0:00 /usr/lib/mate-tification-daemon/mate-tification-daemon
Я пробовал pkill как$ pkill mate-notification-daemon
и даже$ pkill mate-notification
И не сработало. Однако, если я обрезал слово "уведомление", это сработало: $ pkill mate-notificati
Добавление "в" к слову заставляет его не работать. Не знаю почему. Я полагаю, что это относится и к версиям Ubuntu MATE.
Для рабочего стола xfce (Lubuntu 18.04) уведомление-отправка:
pkill xfce4-notifyd