Отключить & ldquo; Батарея мыши разряжена & rdquo; уведомление о спаме

Бесчисленное количество раз за последние несколько недель меня уведомляли о разряде батареи в моей беспроводной мыши. Каждый раз, когда он выходит из спящего режима и переподключается через Bluetooth, я получаю уведомление. Я получил сотни уведомлений. Я не хочу их, и я не нуждаюсь в них. Да, батарея разряжена, но при 0% (как сообщалось) она будет работать еще как минимум неделю. Уведомление не имеет таймера и будет оставаться видимым, пока я не закрою его.

Как мне отключить эту пытку?

enter image description here

Понимая, что я могу походить на сварливого старика, я не собираюсь заменять своего батареи, которые хороши в течение еще одного месяца в качестве обходного пути. Я использую Ubuntu 17.10 с GNOME Shell. Я понятия не имею, что вызывает это. Указатели и предложения будут высоко оценены!

ОБНОВЛЕНИЕ : Оказывается, мышь работала еще десять дней или около того после первоначального уведомления. С ОС постоянно напоминают мне, что она скоро перестанет работать. Истощение мелких батарей не очень хороший дизайн. Люди должны заботиться об этом и иметь возможность отключить уведомления.

ОБНОВЛЕНИЕ 2018-10-22 : Я задал вопрос некоторое время назад. Отмеченный правильный ответ может больше не применяться. Похоже, это ошибка в gnome-settings-daemon. См. Отчет об обновлениях, устраняющих эту проблему: https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/1798166

90
задан 22 October 2018 в 16:07

7 ответов

Хорошо, я столкнулся с той же проблемой. Причины похожи; мой 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%.

Это не лучший ответ, если у вас есть ноутбук, но он подходит для настольного компьютера и лучше, чем заполнять свалку батареями или придираться.

23
ответ дан 22 October 2018 в 16:07

Я никогда не использовал Bluetooth-мышь, но если я нажму на ее иконку, она даст мне варианты плагинов. Среди них есть плагин управления питанием. Возможно, отключение может помочь.

0
ответ дан 22 October 2018 в 16:07

Вы можете использовать сценарий, который закрывает сообщение, как только оно открывается (с задержкой 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()
2
ответ дан 22 October 2018 в 16:07

для Ubuntu 20: настройки -> уведомления -> питание, а затем отключите кнопку уведомления.

16
ответ дан 5 January 2021 в 22:17

Ubuntu 18.04 на настольном компьютере, поэтому у меня нет проблем, которые потенциально могут возникнуть у ноутбука с этим решением.

  1. Вы можете проверить, работает ли то, что вы сделали, перезапустив службу upower:

     sudo systemctl  перезапустить питание
     
  2. Мне удалось решить эту проблему путем изменения файла конфигурации upower:

     sudo nano /etc/dbus-1/system.d/org.freedesktop.UPower.conf
     

Я просто закомментировал всю конфигурацию, оставив пустой тег .

3
ответ дан 5 January 2021 в 22:17

Копирование раствора из пост блога . Используйте на свой риск.

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

, по меньшей мере, уведомление не сразу.

0
ответ дан 1 April 2021 в 23:55

Решение, упомянутое в: https://wrgms.com/disable-mouse-battery-low-spam-notification/ Работал для меня (на Ubuntu 18.04)

Я тоже получил следующую ошибку на последнем шаге для команды «Undower --version»: Упакое: ошибка поиска символа: undower: undefined символ: up_client_get_devices2

Тогда я сделал следующие изменения, как предложено в разделе комментариев, т. Е.:

  1. заменены "Git Clone https://gitlab.freedesktop.org/ Упакое / нюшровка " с" Git Clone --single-firit - branch udower_0_99_7 https://gitlab.freedesktop.org/upower/uperower " (поскольку моя конюшенная версия была 0,99,7)
  2. Установлена ​​«Intltool» с использованием «Sudo APT-Get install Intltool» перед запуском «./autogen.sh"

Спасибо, Gui Ambros !!

0
ответ дан 1 April 2021 в 23:55

Другие вопросы по тегам:

Похожие вопросы: