У меня последняя Pop!_OS 20.04
. Недавно я установил KDE Plasma
на свой компьютер.
Единственное, что меня раздражает, это то, что когда моя батарея разряжается, и я подключаю зарядное устройство, KDE требуется почти полчаса, чтобы обнаружить это. В основном это означает, что если я подключаюсь к 10%
, даже когда моя машина подключена, KDE выключит систему.
Обратите внимание, что подключение раньше или на 20 % не является желаемым решением.
Я написал апплет для KDE Plasma 5, который показывает процент заряда батареи на основе интерфейса /sys
(, который обновляется мгновенно и не имеет задержки UPower демона или Батарея и яркость плазмоид ).
/sys
на самом деле является интерфейсом для доступа к структурам данных ядра во время выполнения. Он полностью находится в памяти и является полезным источником отладочной информации. Информация, которая нам здесь нужна, — это точный процент заряда батареи:
$ tree /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/
.
├── alarm
├── capacity
├── capacity_level
├── cycle_count
├── device ->../../../PNP0C0A:00
├── energy_full
├── energy_full_design
├── energy_now
├── hwmon1
│ ├── device ->../../BAT0
│ ├── in0_input
│ ├── name
│ ├── power
│ │ ├── async
│ │ ├── autosuspend_delay_ms
│ │ ├── control
│ │ ├── runtime_active_kids
│ │ ├── runtime_active_time
│ │ ├── runtime_enabled
│ │ ├── runtime_status
│ │ ├── runtime_suspended_time
│ │ └── runtime_usage
│ ├── subsystem ->../../../../../../../../../../class/hwmon
│ ├── temp1_label
│ ├── temp2_label
│ └── uevent
├── manufacturer
├── model_name
├── power
│ ├── async
│ ├── autosuspend_delay_ms
│ ├── control
│ ├── runtime_active_kids
│ ├── runtime_active_time
│ ├── runtime_enabled
│ ├── runtime_status
│ ├── runtime_suspended_time
│ └── runtime_usage
├── power_now
├── present
├── serial_number
├── status
├── subsystem ->../../../../../../../../../class/power_supply
├── technology
├── type
├── uevent
├── voltage_min_design
└── voltage_now
Например, номер, который мы ищем, находится в этом файле (в моей системе):
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/capacity
Показывает правильный процент заряда батареи (BAT0):
Обязанностью этого плазмоида является регулярное считывание этого числа каждые три секунды.
Вот репозиторий проекта:https://gitlab.com/P.Mousavi/batperc-indicator
И если вы хотите скомпилировать и запустить его, следуйте инструкциям ниже:
Установите зависимости (, описанные в README.md ), и запустите:
git clone https://gitlab.com/P.Mousavi/batperc-indicator.git
cd batperc-indicator
mkdir build
cd build
qmake../plugin/
make
sudo make install
Если все пройдет без каких-либо ошибок, вы должны увидеть плазмоид Индикатор заряда батареи в процентах на панели виджетов -в KDE Plasma, и вы можете перетащить -n -падение это оттуда.
Есть много TODO, таких как изменение цвета, когда процентное значение падает ниже порогового значения и т. д. Но пока я занят:)
Надеюсь, это поможет.
( В основном я даю этот ответ, чтобы спровоцировать кого-то другого сделать ответ лучше, чтобы я не получил награду незаслуженно. Пожалуйста, сделайте лучше. Пожалуйста, предпочитайте голосовать за любой другой ответ, кроме моего. Как только я увижу какой-либо ответ с реальными предложениями решения, я с радостью удалю свой. В противном случае пусть этот ответ получит 2 балла, чтобы, по крайней мере, избежать разочарования для ОП, что потерянная репутация, по крайней мере, не полностью потеряна...)
Обсуждение в комментариях показало, что очевидной ошибки со стороны ОП нет.
Комментаторы сходятся во мнении, что это, скорее всего, ошибка в KDE.
OP подал отчет об ошибке
https://bugs.kde.org/show_bug.cgi?id=423556#c1
Похоже, об ошибке уже сообщалось ранее.
Если вопрос не закрыт и не удален, то текущий статус анализа является наиболее близким к ответу.