Как решить проблему с задержкой определения зарядки в Plasma5?

У меня последняя Pop!_OS 20.04. Недавно я установил KDE Plasmaна свой компьютер.

Единственное, что меня раздражает, это то, что когда моя батарея разряжается, и я подключаю зарядное устройство, KDE требуется почти полчаса, чтобы обнаружить это. В основном это означает, что если я подключаюсь к 10%, даже когда моя машина подключена, KDE выключит систему.

Обратите внимание, что подключение раньше или на 20 % не является желаемым решением.

2
26.06.2020, 21:29
2 ответа

Я написал апплет для 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):

enter image description here

Обязанностью этого плазмоида является регулярное считывание этого числа каждые три секунды.


Вот репозиторий проекта: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, таких как изменение цвета, когда процентное значение падает ниже порогового значения и т. д. Но пока я занят:)

Надеюсь, это поможет.

1
18.03.2021, 23:27

( В основном я даю этот ответ, чтобы спровоцировать кого-то другого сделать ответ лучше, чтобы я не получил награду незаслуженно. Пожалуйста, сделайте лучше. Пожалуйста, предпочитайте голосовать за любой другой ответ, кроме моего. Как только я увижу какой-либо ответ с реальными предложениями решения, я с радостью удалю свой. В противном случае пусть этот ответ получит 2 балла, чтобы, по крайней мере, избежать разочарования для ОП, что потерянная репутация, по крайней мере, не полностью потеряна...)

Обсуждение в комментариях показало, что очевидной ошибки со стороны ОП нет.
Комментаторы сходятся во мнении, что это, скорее всего, ошибка в KDE.

OP подал отчет об ошибке
https://bugs.kde.org/show_bug.cgi?id=423556#c1

Похоже, об ошибке уже сообщалось ранее.

Если вопрос не закрыт и не удален, то текущий статус анализа является наиболее близким к ответу.

2
18.03.2021, 23:27

Теги

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