Исходный код “Charge Limit” от KDE

Вопрос или проблема

В системных настройках KDE есть раздел “Управление питанием > Расширенные настройки питания > Ограничение заряда”, где есть 2 опции “Остановить зарядку при:” и “Начать зарядку только после достижения:”

Мне нужно знать, какая переменная/программа в системе фактически вызывается для внесения этого изменения, чтобы иметь возможность сделать то же самое через терминал (в рамках некоторых удобных скриптов и ярлыков).

У меня довольно непонятная платформа (Macbook Air M2 2022, работающий на Debian Asahi Linux), поэтому обычные команды для настройки ограничений зарядки, которые специфичны для производителя или ACPI/BIOS, к сожалению, неприменимы, однако всё, что это делает KDE, работает идеально. Мне просто нужно знать, как я могу сделать то же самое через команду консоли.

Я предполагаю, что KDE что-то делает с некоторой службой systemd. Когда запрашивается пароль пользователя, упомянутая программа — это org.kde.powerdevil.chargethresholdhelper.setthreshold

Ответ или решение

Как изменить предел заряда батареи в KDE через терминал на Asahi Linux

На платформе Asahi Linux, работающей на MacBook Air M2, существует необходимость в управлении зарядкой аккумулятора посредством терминала. KDE предоставляет интерфейс для настройки ограничений заряда в разделе "Настройки системы" > "Энергетические параметры" > "Расширенные параметры питания" > "Предел заряда". В этой статье мы разберём, как можно реализовать аналогичные изменения через командную строку.

Понимание механизма работы KDE

KDE использует компонент, известный как PowerDevil, для управления настройками энергопотребления, включая установку пределов заряда батареи. С помощью протокола D-Bus происходит взаимодействие между различными компонентами системы и пользовательским интерфейсом.

Команда для изменения предела заряда

Ваше предположение о том, что KDE вызывает метод org.kde.powerdevil.chargethresholdhelper.setthreshold, является верным. Для изменения предела заряда через терминал потребуется установить соответствующие значения для максимального и минимального уровней заряда.

Следующий пример демонстрирует, как это можно сделать:

# Установить максимальный предел заряда
qdbus org.kde.powerdevil.chargethresholdhelper /org/kde/powerdevil/chargethresholdhelper setThreshold 80

# Установить минимальный предел заряда
qdbus org.kde.powerdevil.chargethresholdhelper /org/kde/powerdevil/chargethresholdhelper setStartThreshold 40

В данном случае команда setThreshold используется для установки максимального уровня заряда, а setStartThreshold — для задания минимального уровня, ниже которого начнётся зарядка батареи.

Проверка текущих значений

Чтобы убедиться, что изменения применены, вы можете использовать команду:

qdbus org.kde.powerdevil.chargethresholdhelper /org/kde/powerdevil/chargethresholdhelper threshold

Это позволит вам получить информацию о текущих значениях пределов заряда.

Автоматизация изменения пределов

Для создания скрипта, автоматизирующего процесс изменения пределов заряда, можно воспользоваться следующими шагами:

  1. Создайте файл скрипта, например, set_charge_limit.sh.
  2. Вставьте в него команды, описанные выше.
  3. Сделайте файл исполняемым:
chmod +x set_charge_limit.sh
  1. Запускайте скрипт по мере необходимости.

Заключение

Изменение пределов заряда аккумулятора через терминал на Asahi Linux позволяет больше контролировать параметры энергопотребления вашего устройства. Используя qdbus и PowerDevil, вы можете легко интегрировать эти настройки в свои скрипты и автоматизировать процесс, тем самым улучшая работу с вашей системой. Это не только удобно, но и дает больше возможностей для кастомизации.

Не забывайте проверять документацию KDE и D-Bus для получения более детальной информации и возможных обновлений, которые могут повлиять на управление батареей в будущем.

Оцените материал
Добавить комментарий

Капча загружается...