로지텍 무선 마우스의 배터리가 10% 이하로 떨어지면 우분투에서 아래 이미지와 같이 알림 메시지를 출력하는데, 이것이 부팅시 한번만 실행되는 것이 아니라, 주기적으로 실행되어 우분투 사용에 불편함을 초래한다.
배터리 교체로 이문제를 해결할 수도 있지만, 10% 미만 배터리도 1-2개월을 거뜬히 사용할 수 있기에 그냥저냥 쓰다가 떨어지면 바꿔야지 했는데, 배터리 부족 알림이 수시로 실행되어 알림을 비활성화 시키는 방법을 찾았고, 아래 블로그에 잘 설명되어 있어, 이 글에서는 간단하게 적용 방법만 정리하도록 하겠다.
위 블로그에서는 이 문제를 upowerd 소스를 gitlab에서 내려받아 low-battery 패치를 적용 및 빌드하여 이것을 시스템에 적용하는 일련의 과정을 스크립트를 제공하고 있다. 이 스크립트 내용을 아래와 같으면, ~/low-battery-patch.sh 파일로 아래와 같이 생성하도록 한다.
$ vi ~/low-battery-patch.sh
#!/bin/bash
# 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
위 파일을 생성한 후, 실행권한을 할당하고 sudo로 실행하면 소스 다운로드 및 패치 그리고 빌드후 시스템에 적용까지 한번에 이루어지며, 실행되어 있는 "마우스 전원 부족" 메시지가 사라지는 것을 확인할 수 있다.
$ chmod 755 ~/low-battery-patch.sh
$ sudo ~/low-battery-patch.sh