С помощью всей информации из всех ответов здесь я создал скрипт и поместил его в репозиторий на GitLab.
Уведомления будут отображаться, когда:
https://gitlab.com/gitaarik/battery-health-notifications
Мы приветствуем участие в расширении возможностей среды.
Сценарий на момент написания этой статьи:
#!/bin/bash
# Run this script as a cronjob every 5 minutes or so, to get notifications when
# battery percentage goes below 30% or above 80%.
# Cronjob line example:
# */5 * * * * /bin/bash /path/to/battery_health_notifications.sh
# This line is to make notify-send always work, also when run in a crontab.
# https://askubuntu.com/questions/298608/notify-send-doesnt-work-from-crontab/346580#346580
export $(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ | tr '\0' '\n')
BATTERY_PATH=$(upower -e | grep battery)
LINE_POWER_PATH=$(upower -e | grep line_power)
BATTERY_PERCENTAGE=$(upower -i $BATTERY_PATH | grep 'percentage:' | awk '{ print $2 }' | sed 's/%//')
CABLE_PLUGGED=$(upower -i $LINE_POWER_PATH | grep -A2 'line-power' | grep online | awk '{ print $2 }')
if [[ $CABLE_PLUGGED == 'yes' ]]; then
if [[ $BATTERY_PERCENTAGE -gt 80 ]]; then
notify-send --urgency=critical "Battery optimization" "Battery reached 80%, unplug the power cable to optimize battery life."
fi
else
if [[ $BATTERY_PERCENTAGE -lt 30 ]]; then
notify-send --urgency=critical "Battery optimization" "Battery is below 30%, plug in the power cable to optimize battery life."
fi
fi
Я решил сначала проигнорировав freecad
:
sudo pacman -Syu --ignore freecad
, а затем запустить обновление без флага игнорированияsudo pacman -Syu
:
[sudo] password for john:
:: Synchronizing package databases...
core is up to date
extra is up to date
community-testing is up to date
community is up to date
multilib is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
:: opencascade74 and opencascade are in conflict. Remove opencascade? [y/N]
Подтвердите да
Теперь вы обновили свою систему без каких-либо конфликтов.
Кстати:Отчет об ошибке уже был сделан:https://bugs.archlinux.org/task/68673