Отключить уведомление о спаме "Разряжена батарея мыши"
Много раз за последние несколько недель меня уведомляли о низком заряде батареи в моей беспроводной мыши. Каждый раз, когда он выходит из спящего режима и переподключается через Bluetooth, я получаю уведомление. Я получил сотни уведомлений. Я не хочу их, и я не нуждаюсь в них. Да, батарея разряжена, но при 0% (как сообщалось) она будет работать еще как минимум неделю. Уведомление не имеет таймера и будет оставаться видимым, пока я не закрою его.
Как отключить эту пытку?
Понимая, что я могу походить на сварливого старика, я не собираюсь заменять свои батареи, которые годны для использования в качестве обходного пути. Я использую Ubuntu 17.10 с GNOME Shell. Я понятия не имею, что вызывает это. Указатели и предложения будут с благодарностью!
ОБНОВЛЕНИЕ: Оказывается, мышь работала еще около десяти дней после первоначального уведомления. С ОС постоянно напоминают мне, что она скоро перестанет работать. Истощение мелких батарей не очень хороший дизайн. Люди должны заботиться об этом и иметь возможность отключить уведомления.
ОБНОВЛЕНИЕ 2018-10-22: я задал вопрос некоторое время назад. Отмеченный правильный ответ может больше не применяться. Кажется, это ошибка в gnome-settings-daemon
, См. Отчет об обновлениях, устраняющих эту проблему: https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/1798166
8 ответов
ОК, я столкнулся с той же проблемой. Причины схожи; Мой Logitech M570 питается от "разряженных" батарей, поскольку он работает МЕСЯЦЕВ на очень низком напряжении щелочи. Поэтому я использую батарейки в других вещах и оставляю мертвые для моего M570.
Лучший ответ, который я нашел, это понизить предупреждение о критическом уровне Power Plugins. Таким образом, вы можете настроить, когда он ворчит.
Вам нужен dconf для командной строки или dconf-editor для версии GUI (для GUI вам нужно сделать sudo apt-get install dconf-tools
).
Тем не менее, настройка в общем случае для батарей, поэтому, если вы используете ноутбук или ИБП, вы будете изменять уровни предупреждений для тех, которые могут быть не идеальными.
Для Ubuntu 17.10 (Artful Aardvark) перейдите в org → gnome → settings-daemon → plugins → power. Измените настройку "Процент-низкий" на то, что вы хотите. Я изменил с 10% до 4%.
Это не идеальный ответ, если у вас есть ноутбук, но он подходит для настольного компьютера и лучше, чем заполнять свалку батареями или ворчать.
Для Ubuntu 20: настройки -> уведомления -> питание, а затем отключите кнопку уведомления.
Как предлагается в этом посте, вы можете редактировать настройку UPower:
sudo nano /etc/UPower/UPower.conf
и измените атрибуты ниже:
PercentageLow=5
PercentageCritical=2
Затем перезапустите службу:
sudo systemctl restart upower
Это может отключить уведомления о батарее, но все же имейте в виду, что на ноутбуке или настольном ПК с несколькими периферийными устройствами, имеющими собственный источник батареи, это отключит уведомления для каждого устройства.
Таким образом, это избавит вас от надоедливых уведомлений, но не даст полного решения.
Я могу подтвердить, что это работает на Ubuntu 18.04 и 20.04. Попробуйте, это может работать и на 17.10.
Копирование решения из сообщения в блоге . Используйте на свой риск.
disable_mouse_notification.sh
#!/bin/bash
set -e
# https://wrgms.com/disable-mouse-battery-low-spam-notification/
# Check which version you're using
upower --version
UPOWER_ORIG_VER=`upower --version`
# Check Debian / Ubuntu vs. Arch Linux / Manjaro
OS=`awk -F= '/^ID=/{print $2}' /etc/os-release`
OS_VER=`awk -F= '/^VERSION_ID=/{print $2}' /etc/os-release | cut -d "\"" -f 2`
if [[ "$OS" == "manjaro" ]]
then
echo "Manjaro detected"
sudo pacman -S base-devel gtk-doc gobject-introspection git
PATH_UPOWERD="/usr/lib"
PATH_UPOWER="/usr/bin"
elif [[ "$OS" == "ubuntu" ]]
then
sudo apt install git gtk-doc-tools gobject-introspection libgudev-1.0-dev libusb-1.0-0-dev autoconf libtool autopoint
if [[ "$OS_VER" == "20.10" ]]
then
echo "Ubuntu version 20.10 (Groovy Gorilla) detected"
PATH_UPOWERD="/usr/libexec"
PATH_UPOWER="/usr/bin"
else
echo "Ubuntu version <= 20.04 detected"
PATH_UPOWERD="/usr/lib/upower"
PATH_UPOWER="/usr/bin"
fi
else
echo "Unknown system; this script was only tested on ubuntu and manjaro."
exit 1
fi
# Download and patch upowerd
#
git clone https://gitlab.freedesktop.org/upower/upower
cd upower/src
wget https://gist.githubusercontent.com/guiambros/f2bf07f1cc085f8f0b0a9e04c0a767b4/raw/ef90dfcfa2489bab577bd984a6082abacdf8b0b1/up-device.patch
patch < up-device.patch
cd ..
./autogen.sh
./configure
make
# Install upowerd
#
pushd .
cd src/.libs
strip upowerd
sudo chown root.root upowerd
sudo mv upowerd ${PATH_UPOWERD}/upowerd-silent
cd ${PATH_UPOWERD}
sudo mv upowerd upowerd-original
sudo ln -s upowerd-silent upowerd
popd
# Install upower
#
pushd .
cd tools/.libs
strip upower
sudo chown root.root upower
sudo mv upower ${PATH_UPOWER}/upower-silent
cd ${PATH_UPOWER}
sudo mv upower upower-original
sudo ln -s upower-silent upower
popd
# Restart upowerd
#
sudo systemctl restart upower
# Compare versions before/after (they will likely be different, but it depends on what your distro packages by default)
echo "upower version BEFORE the update:"
echo "${UPOWER_ORIG_VER}"
echo "-------------------------------------"
echo "upower version AFTER the update:"
upower --version
Результат:
$ upower --version
upower: ошибка поиска символа: upower: неопределенный символ: up_client_get_devices2
По крайней мере, уведомление пропало сразу.
Вы можете использовать скрипт, который закрывает сообщение, как только оно открывается (с задержкой в 0,5 секунды, для открытия окна сообщения требуется время). Это не идеально, потому что закрывает последнее окно уведомлений в стеке окон. Поэтому существует небольшая вероятность закрыть неправильное уведомление, если оно появляется почти одновременно с сообщением со сводкой "Разряжена батарея мыши".
зависимости:
sudo apt install python-dbus wmctrl -y
Это для XFCE. Вам придется настроить его для гнома, если это то, что вы используете. Для xfce следующая команда закрывает последнее окно уведомления:
wmctrl -i -c $(wmctrl -lx | awk '/xfce4-notifyd\.Xfce4-notifyd/{print $1}' | tail -n 1)
awk фильтрует окна по классу окон xfce4-notifyd.
Класс окна рабочего стола mate - это mate-tification-daemon, я не уверен в Gnome.
Измените эту строку для вашего DE в сценарии.
Сохраните следующий скрипт, сделайте его исполняемым и настройте его на запуск.
#!/usr/bin/env python
import glib
import dbus
import os
import time
from dbus.mainloop.glib import DBusGMainLoop
def close_notification(bus, message):
keys = ["app_name", "replaces_id", "app_icon", "summary",
"body", "actions", "hints", "expire_timeout"]
args = message.get_args_list()
if len(args) == 8:
notification = dict([(keys[i], args[i]) for i in range(8)])
if notification["summary"] == "Mouse battery low":
time.sleep(.5)
# Adapt next command for your DE
os.system("wmctrl -i -c $(wmctrl -lx | awk '/xfce4-notifyd\.Xfce4-notifyd/{print $1}' | tail -n 1)")
loop = DBusGMainLoop(set_as_default=True)
session_bus = dbus.SessionBus()
session_bus.add_match_string_non_blocking("type='method_call',interface='org.freedesktop.Notifications',member='Notify',eavesdrop=true")
session_bus.add_message_filter(close_notification)
glib.MainLoop().run()
Здесь Ubuntu 18.04 на настольном компьютере, поэтому у меня нет проблем, которые потенциально могут возникнуть у ноутбука с этим решением.
Вы можете проверить, работает ли то, что вы сделали, перезапустив службу upower:
sudo systemctl restart upower
Мне удалось решить эту проблему, изменив файл конфигурации upower:
sudo nano /etc/dbus-1/system.d/org.freedesktop.UPower.conf
Я просто закомментировал всю конфигурацию, оставив пустой
<busconfig></busconfig>
тег.
Решение, упомянутое в: https://wrgms.com/disable-mouse-battery-low-spam-notification/ , сработало для меня (в Ubuntu 18.04)
Я тоже получил следующую ошибку на последнем шаге для команды «upower --version»: upower: ошибка поиска символа: upower: неопределенный символ: up_client_get_devices2
Затем я внес следующие изменения, как было предложено в разделе комментариев, т.е.:
- Заменено «git clone на «git clone --single-branch --branch UPOWER_0_99_7 https://gitlab.freedesktop.org/upower/upower»https://gitlab.freedesktop.org/upower/upower» (начиная с моей версии upower ). было 0,99,7)
- Установил «intltool» с помощью «sudo apt-get install intltool» перед запуском «./autogen.sh»
После включения этих изменений ошибка исчезла, как и уведомление о заряде батареи мыши! Спасибо Ги Амброс!!
Я никогда не пользовался Bluetooth-мышью, но если я нажму на ее значок, он даст мне варианты плагинов. Среди них есть плагин управления питанием. Возможно, отключение может помочь.