Вы можете автоматически убивать определенные сообщения, если у вас есть определенная строка идентификации, которая встречается в тексте уведомления. В этом случае возможно обновление.
#!/bin/bash
string=$1
match="update"
if [[ $string == *$match* ]]
then
pkill notify-osd
fi
Сохранить его как killnot.sh. Это уничтожит notify-osd, если в уведомлении появится определенная строка. Отредактируйте строку match="update", чтобы отобразить идентификационную строку в уведомлениях, которые вы хотели бы убить. Сделайте скрипт исполняемым. Скопируйте сценарий ниже в пустой файл: #!/bin/bash
scriptpath=/home/jacob/Bureaublad/killnot.sh
dbus-monitor "interface='org.freedesktop.Notifications'" | \
grep --line-buffered "string" | \
grep --line-buffered -e method -e ":" -e '""' -e urgency -e notify -v | \
grep --line-buffered '.*(?=string)|(?<=string).*' -oPi | \
grep --line-buffered -v '^\s*$' | \
xargs -I '{}' $scriptpath {}
Отредактируйте строку scriptpath=/home/jacob/Bureaublad/killnot.sh, чтобы отобразить реальный путь к сценарию 1 (killnot.sh) и сохраните его как monitor_notifs.sh. Сделайте скрипт исполняемым. Протестируйте настройку с помощью команды: /path/to/monitor_notifs.sh
Чтобы протестировать, запустите в другом терминале команду: notify-send <identifying_string>
Мезасаж не должен появляться. Если все работает нормально, добавьте его в свои приложения для запуска: Dash> Startup Applications> Add. Добавьте команду: /path/to/monitor_notifs.sh
Сценарий monitor_notifs.sh использует dbus-monitor так же, как этот ответ. Запуск его в фоновом режиме означает конкретный для вашей системы и только триггеры уведомлений.
Эти уведомления, когда они происходят, передаются в качестве аргумента скрипту killnot.sh, что делает ничего, если строка идентификации не указана в тексте уведомления. В этом случае он будет убивать notify-osd.
С небольшим редактированием первого скрипта вы можете сделать установку убивать уведомления по нескольким ключевым словам сразу.
, если только уведомление появляется только после входа в систему, как вы упомянули в своем вопросе, вы можете «поднять» решение вверх чтобы убить себя после того, как он перехватил уведомление об обновлении:
Если вы назвали скрипты в настройке точно так, как указано, добавьте одну строку в killnot.sh sript:
pkill -P "$( pgrep -f run_intercept )"
Затем скрипт становится:
#!/bin/bash
string=$1
match="update"
if [[ $string == *$match* ]]
then
pkill notify-osd
pkill -P "$( pgrep -f run_intercept )"
fi
. Главный скрипт run_intercept будет убит после того, как он выполнит свою работу, и у вас больше не работает фоновый скрипт.
Ближе к очистке вы не можете попасть в эту ситуацию imo.
К сожалению, эта функция еще не реализована в расширении Dash to Dock (док-станция Ubuntu, боковая панель в Ubuntu 17.10 и далее, является вилкой Dash to Dock). Согласно разработчику расширения
Существует одна мэр [sic]: вещь остановки: https://bugzilla.gnome.org/show_bug.cgi?id=696321. Сначала необходимо обеспечить поддержку вверх по течению. Я попытался исправить gnome-shell с исправлением, прикрепленным к этой ошибке, и получил доказательство концепции, но не может продолжать работу без поддержки восходящего потока. Я исследовал возможность отображения окон приложения при перетаскивании, чтобы по крайней мере вы могли освободить элемент в уже открытых окнах. Это технически возможно - прямо сейчас, в gnome-shell, это можно сделать, перейдя [sic] кнопку действий, но это не очень удобно.К сожалению, эта функция еще не реализована в расширении Dash to Dock (док-станция Ubuntu, боковая панель в Ubuntu 17.10 и далее, является вилкой Dash to Dock). Согласно разработчику расширения
Существует одна мэр [sic]: вещь остановки: https://bugzilla.gnome.org/show_bug.cgi?id=696321. Сначала необходимо обеспечить поддержку вверх по течению. Я попытался исправить gnome-shell с исправлением, прикрепленным к этой ошибке, и получил доказательство концепции, но не может продолжать работу без поддержки восходящего потока. Я исследовал возможность отображения окон приложения при перетаскивании, чтобы по крайней мере вы могли освободить элемент в уже открытых окнах. Это технически возможно - прямо сейчас, в gnome-shell, это можно сделать, перейдя [sic] кнопку действий, но это не очень удобно.