Бесчисленное количество раз за последние несколько недель меня уведомляли о разряде батареи в моей беспроводной мыши. Каждый раз, когда он выходит из спящего режима и переподключается через Bluetooth, я получаю уведомление. Я получил сотни уведомлений. Я не хочу их, и я не нуждаюсь в них. Да, батарея разряжена, но при 0% (как сообщалось) она будет работать еще как минимум неделю. Уведомление не имеет таймера и будет оставаться видимым, пока я не закрою его.
Как мне отключить эту пытку?
Понимая, что я могу походить на сварливого старика, я не собираюсь заменять своего батареи, которые хороши в течение еще одного месяца в качестве обходного пути. Я использую Ubuntu 17.10 с GNOME Shell. Я понятия не имею, что вызывает это. Указатели и предложения будут высоко оценены!
ОБНОВЛЕНИЕ : Оказывается, мышь работала еще десять дней или около того после первоначального уведомления. С ОС постоянно напоминают мне, что она скоро перестанет работать. Истощение мелких батарей не очень хороший дизайн. Люди должны заботиться об этом и иметь возможность отключить уведомления.
ОБНОВЛЕНИЕ 2018-10-22 : Я задал вопрос некоторое время назад. Отмеченный правильный ответ может больше не применяться. Похоже, это ошибка в gnome-settings-daemon
. См. Отчет об обновлениях, устраняющих эту проблему: https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/1798166
Хорошо, я столкнулся с той же проблемой. Причины похожи; мой Logitech M570 питается от «мертвых» батарей, поскольку он работает МЕСЯЦЫ на щелочной батарее с очень низким напряжением. Так что я использую батареи в других вещах и оставляю разряженные для моего M570.
Лучший ответ, который я нашел, - это снизить предупреждение о критическом уровне подключаемых модулей питания. Таким образом, вы можете настроить, когда он начинает мешать.
Вам нужен dconf для командной строки или dconf-редактор для версии с графическим интерфейсом пользователя (для графического интерфейса необходимо выполнить sudo apt-get install dconf-tools
, хотя этот пакет может быть недоступен для более новых версий, поэтому просто загрузите dconf-editor
и его зависимостей).
Обычно эта настройка применяется к батареям, поэтому, если вы используете ноутбук или ИБП, вы измените уровни предупреждений для них, что может быть неидеальным.
Для Ubuntu 17.10 (Artful Aardvark) перейдите в org → gnome → settings-daemon → plugins → power. Измените настройку «низкий процент» на то, что вы хотите. Я изменил с 10% на 4%.
Это не лучший ответ, если у вас есть ноутбук, но он подходит для настольного компьютера и лучше, чем заполнять свалку батареями или придираться.
Я никогда не использовал Bluetooth-мышь, но если я нажму на ее иконку, она даст мне варианты плагинов. Среди них есть плагин управления питанием. Возможно, отключение может помочь.
Вы можете использовать сценарий, который закрывает сообщение, как только оно открывается (с задержкой 0,5 секунды требуется время для окно сообщения, чтобы открыть). Это не идеально, потому что закрывает последнее окно уведомления в стеке окон. Поэтому существует небольшая вероятность закрыть неверное уведомление, если оно появляется почти одновременно с сообщением «Батарея мыши разряжена».
Зависимости:
sudo apt install python-dbus wmctrl -y
Это для xfce. Вам придется настроить его для gnome, если это то, что вы используете. Для xfce следующая команда закрывает последнее окно уведомления:
wmctrl -i -c $(wmctrl -lx | awk '/xfce4-notifyd\.Xfce4-notifyd/{print $1}' | tail -n 1)
awk фильтрует окна с классом окна xfce4-notifyd .
Для класса окна mate-desktop является mate-notification -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 20: настройки -> уведомления -> питание, а затем отключите кнопку уведомления.
Ubuntu 18.04 на настольном компьютере, поэтому у меня нет проблем, которые потенциально могут возникнуть у ноутбука с этим решением.
Вы можете проверить, работает ли то, что вы сделали, перезапустив службу upower:
sudo systemctl перезапустить питание
Мне удалось решить эту проблему путем изменения файла конфигурации upower:
sudo nano /etc/dbus-1/system.d/org.freedesktop.UPower.conf
Я просто закомментировал всю конфигурацию, оставив пустой
тег
.
Копирование раствора из пост блога . Используйте на свой риск.
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
Undower: Ошибка поиска символов: undower: undefined символ: up_client_get_devices2
, по меньшей мере, уведомление не сразу.
Решение, упомянутое в: https://wrgms.com/disable-mouse-battery-low-spam-notification/ Работал для меня (на Ubuntu 18.04)
Я тоже получил следующую ошибку на последнем шаге для команды «Undower --version»: Упакое: ошибка поиска символа: undower: undefined символ: up_client_get_devices2
Тогда я сделал следующие изменения, как предложено в разделе комментариев, т. Е.:
Спасибо, Gui Ambros !!