Сценарий ниже позволяет отключить отображение любых уведомлений на экране. Существует два основных варианта -m для отключения звука и -u для включения звука.
Когда -m используется, уведомление-osd отправит окончательное уведомление перед блокировкой. Если есть еще один экземпляр запуска скрипта, он покажет графическое всплывающее окно, которое сообщит пользователю, что скрипт уже выполняет свою работу.
Когда вызывается с опцией -u, скрипт прекратит блокировку уведомлений и подтвердит это, показывая один. Если ни один предыдущий экземпляр скрипта не запущен, пользователь будет уведомлен о том, что сейчас ничего не заблокировано.
Источник сценария доступен здесь. Для более современной версии вы всегда можете найти ее на моем github. Вы можете установить git с помощью sudo apt-get install git и клонировать весь репозиторий с помощью git clone https://github.com/SergKolo/sergrep.git или использовать
wget https://raw.githubusercontent.com/SergKolo/sergrep/master/notify-block.sh && chmod +x notify-block.sh
, чтобы получить только сам скрипт.
#!/usr/bin/env bash
#
###########################################################
# Author: Serg Kolo , contact: 1047481448@qq.com
# Date: May 10th 2016
# Purpose: Notification blocker for Ubuntu
# Written for:
# Tested on: Ubuntu 14.04 LTS
###########################################################
# Copyright: Serg Kolo ,2016
#
# Permission to use, copy, modify, and distribute this software is hereby granted
# without fee, provided that the copyright notice above and this permission statement
# appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
ARGV0="$0"
ARGC=$#
mute_notifications()
{
self=${ARGV0##*/}
CHECK_PID_NUMS=$(pgrep -f "$self -m" | wc -l )
if [ "$CHECK_PID_NUMS" -gt 2 ]; then
zenity --info --text "Notifications already disabled"
exit 0
else
killall notify-osd 2> /dev/null # ensure we have PID
notify-send 'All notifications will be muted after this one'
sleep 1
while true
do
PID=$(pgrep notify-osd)
[ "x$PID" != "x" ] &&
kill -TERM $PID
sleep 0.25
done
fi
}
unmute()
{
echo $0
self=${0##*/}
MUTE_PID=$(pgrep -f "$self -m" ) #match self with -m option
if [ "x$MUTE_PID" != "x" ];then
kill -TERM "$MUTE_PID" &&
sleep 1 && # ensure the previous process exits
notify-send "UNMUTED"
exit 0
else
notify-send "NOTIFICATIONS ALREADY UNMUTED"
exit 0
fi
}
print_usage()
{
cat > /dev/stderr <
Это просто пример того, что я лично использую. Замените каждую строку Exec= соответствующим сценарием в вашей среде. Конечно, ваш Icon= также должен быть изменен. Предпочтительно сохраните этот файл в папке ~/.local/share/applications
[Desktop Entry]
Name=Notification Blocker
Comment=blocks any on-screen notifications
Terminal=false
Actions=Mute;Unmute
Type=Application
Exec=/home/xieerqi/sergrep/notify-block.sh -m
Icon=/home/xieerqi/Desktop/no-notif2.png
[Desktop Action Mute]
Name=Mute Notifications
Exec=/home/xieerqi/sergrep/notify-block.sh -m
Terminal=false
[Desktop Action Unmute]
Name=Unmute Notifications
Exec=/home/xieerqi/sergrep/notify-block.sh -u
Terminal=false
Файл ярлыка заблокирован для запуска
Файл ярлыка заблокирован для запуска
Произошли ли эти проблемы при использовании живого «компакт-диска»? (вы, вероятно, использовали его на USB-накопителе).
Если вы еще не установили / не активировали драйвер для своей карты Nvidia, я бы начал там.
используя беспроводную мышь, я бы попытался подключить приемник к другому порту, чтобы убедиться, что это помогает.
Произошли ли эти проблемы при использовании живого «компакт-диска»? (вы, вероятно, использовали его на USB-накопителе).
Если вы еще не установили / не активировали драйвер для своей карты Nvidia, я бы начал там.
используя беспроводную мышь, я бы попытался подключить приемник к другому порту, чтобы убедиться, что это помогает.