Пороги батареи телефона на Ubuntu (ASUS)

Я недавно переключился от Windows до Ubuntu, и я был отчасти расстроен, когда я узнал, что не было никакого пути к порогам батареи телефона на Linux. В Windows я могу принять решение ограничить заряд 60% (ноутбук прекращает бросаться на 60%, и резюме бросаются на 58% для сохранения ресурса аккумулятора). Я пытался настроить ту же процедуру с tlp, но это только работает над Lenovo ThinkPads. Моим компьютером является ASUS VIVOBOOK S14, я запускаю Windows 10 двойной загрузки - Ubuntu 16.04.

Я хотел знать, была ли какая-либо часть программного обеспечения, которое могло бы управлять зарядом батареи? Или возможно способ использовать tlp, чтобы для порогов батареи телефона?

5
задан 16 February 2018 в 05:32

4 ответа

Я владел Asus X405UQ, которая шла с этим медицинским Заряженным приложением Батареи, которое управляет заряжающимся порогом. Но так как я только использую Windows 10 для игр, я имею, устанавливают мою рабочую среду и устанавливают двойную загрузку Ubuntu 18.04 в Windows 10. Я включаю свой ноутбук каждый раз, когда существует доступное питание переменным током, и это остается включенным, когда я работаю. Я использую батарею, только если я работаю, в то время как на долгих поездках, таким образом, я искал подобное приложение для Linux. Я узнал, что драйвер для создания этой работы является конкретным поставщиком и что Asus не имеет никакой поддержки драйвера Linux как Ноутбуки ThinkPad, делает с TLP. (в следующий раз я буду покупать Ноутбуки ThinkPad вместо этого).

Но я узнал, что начальная загрузка к Windows и устанавливание порога заряда к т.е. 60% прежде, чем перезагрузить к Ubuntu 18.04 (не выключаясь или закрываясь) сохранят порог заряда. Даже мысль я разъединяю адаптер питания и позволил, это для дренажа батареи, включая его снова заряжает его до 59% или 79% в зависимости от предварительно установленного порога (это всегда на 1 процент коротко, чем обозначенный пороговый уровень). Это только вернется к исходному состоянию (заряжает до 100%), если я выключаю свой ноутбук, отключаю адаптер, включаю его и начальная загрузка к Ubuntu непосредственно, не идя сначала в Windows или если я установил его на 100% с помощью приложения для батареи в Windows.

Я был доволен этой установкой, так как это лучше, чем не иметь никакого порогового контроля вообще. Однако мой ноутбук вернулся к хранилищу для восстановления (неустойчивое соединение Wi-Fi на полосе на 5 ГГц) и когда я получил его (восстановленный исходной заводской настройке, стертая Ubuntu) и установил снова Ubuntu 18.04, которую больше не сохраняет функция.

Я попытался обновить Ядра Ubuntu, но напрасно. Когда я пытался обновить BIOS, я узнал, что одна установленная версия 305 во время этой записи еще не существует на странице поддержки Asus (некоторые форумы говорит, что обновление Microsoft ответственно за это), и новое было всего 304. Я попытался загрузить WinFlash с сайта Asus, но понизить BIOS с приемом/nodate, не работает.

Решение, которое работало на меня:

  1. Загрузите Asus WinFlash 3.0.1 и установите ее. Не используйте последнюю версию 3.2.5 или выше поскольку она больше не позволяет/nodate опцию. Я предполагаю, что новое обновление BIOS обращается к части уязвимости призрака, и они не хотят, чтобы Вы понизили версию BIOS, но мой ресурс аккумулятора намного более важен для меня.

  2. Понизьте до версии BIOS 302. Ваша модель ноутбука могла бы отличаться, так выберите согласно своей модели ноутбука. Разархивируйте файл BIOS.

  3. Введите "WinFlash" на меню "Пуск". Щелкните правой кнопкой по значку WinFlash и избранному "Открытому расположению файла". Это откроет Windows Explorer, показывающий ярлыки меню "Пуск". Щелкните правой кнопкой по ярлыку WinFlash и выберите свойства. На крайнем левом конце пути назначения, после двойных кавычек, добавляют, что пробел затем вводит в "/nodate" без кавычек. Конечный результат будет похож на это: "C:\Program Files (x86)\ASUS\WinFlash\WinFlash.exe"/nodate

  4. Выполните WinFlash с помощью то, который изменил ярлык, и выберите загруженный файл BIOS. Кнопка Update не должна больше отображаться серым. Нажмите Update и впоследствии, он спросит Вас к перезагрузке, таким образом, он сможет высветить BIOS. Удостоверьтесь, что Вы включаетесь - в, или Ваш уровень заряда батареи высок.

  5. Ноутбук введет экран BIOS, и Вы будете видеть индикатор хода выполнения. Мой ноутбук, перезапущенный дважды во время процесса. Я позволил этому загружаться к Windows сначала затем, я перезапустил его, и введите мои настройки BIOS для отключения безопасной начальной загрузки (чтобы позволить моей Ubuntu 18.04 загружаться). На данном этапе, если бы у Вас был свой пороговый уровень ниже, чем батарея текущий уровень заряда, то необходимо заметить ведомый индикатор питания на ноутбуке, бледнеющем вместо янтаря, указывающего, что батарея не заряжается больше. Это должно сохраниться даже при том, что Вы перезапустили свой ноутбук прежде, чем загрузиться к Ubuntu

3
ответ дан 23 November 2019 в 10:26

Требуется обновить это, но у моего файла grub немного другой контекст (версия grub 5.4.0-26-generic) ubuntu 20.04.

Файл выглядит следующим образом. У меня вопрос, является ли GRUB_LINUX_CMDLINE_DEFAULT тем же, что и GRUB_CMDLINE_LINUX_DEFAULT = "тихий всплеск" , или это две разные вещи вместе

Файл, вложенный ниже:

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
-121 925741-

Чтобы остановить зарядку на 60%, я использую

echo 60 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold

В настоящее время моя батарея разряжена на 63%, поэтому она не заряжается (индикатор питания белый). Если я запустил указанную выше команду с 70 вместо 60, он снова начнет заряжаться (индикатор питания станет красным).

Этот параметр теряется при перезагрузке компьютера. Чтобы сделать его постоянным, я добавил

@reboot root echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold

в свой / etc / crontab .

Мой ноутбук - Asus Zenbook, работающий под Ubuntu 20.04 LTS, но, возможно, это может работать и для других брендов / дистрибутивов - изучите, что у вас есть в / sys / class / power_supply / .

9
ответ дан 24 April 2020 в 17:39

Вот мой ответ (короткий скрипт на Python). Это хорошо работает на моем ROG STRIX G731GU.

Не забудьте запустить код от имени администратора. (sudo python3 имя файла.py)

0
ответ дан 6 October 2020 в 02:18

Я написал приложение командной строки, которое делает это.

Самый простой способ начать работу – загрузить приложение со страницы релизов и запустить

$ ./bat --help

из терминала в каталоге, где оно находится, что должно показать справочную документацию.

Если есть ошибка, она может быть связана с разрешениями. Следующая команда может решить проблему.

chmod +x ./bat

По сути, запуск

$ ./bat --threshold

выводит текущее пороговое значение.

Чтобы установить новый порог, скажем, 60%, запустите

./bat --threshold 60

Чтобы сохранить текущий порог между перезагрузками, запустите

sudo ./bat --persist

Примечание: сохранение использует systemd под капотом, но это связано с большинством Linux дистрибутивов, включая Ubuntu.

Совет. Поместив приложение в каталог, например /usr/local/bin/, который находится в $PATH, вы сможете запускать его из любого места, а не только из каталог, в котором находится приложение. Затем приведенные выше команды становятся

bat --help
bat --threshold 60
bat --persist

соответственно.

2
ответ дан 28 January 2021 в 12:53

Другие вопросы по тегам:

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