Ubuntu 15.04, pm-utils больше не заглядывают в /etc/pm/power.d/, что вместо этого?
После обновления с 14.10 до 15.04 мой пользовательский скрипт, который я использовал для настройки правильного режима теплового профиля для моего ноутбука, перестал работать, что, как я полагаю, связано с тем, что pm-utils не реагирует на переключение AC/BAT.
Теперь, если это новое предполагаемое поведение системы, где теперь я должен поместить свой скрипт для выполнения этой работы (необходимый для правильной работы моего ноутбука даже при питании от сети переменного тока)?
2 ответа
Хорошо, нашел ответ в Arch Wiki. Они дают следующее решение:
Systemd-204 может сделать только одно: с помощью systemd-204 управление питанием зависит от того, работает ли система от сети или от аккумулятора. Чтобы заполнить этот пробел, вы можете создать одно правило udev, которое запускает скрипт, когда адаптер переменного тока подключен и отключен:
/etc/udev/rules.d/powersave.rules SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="/path/to/your/script true" SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="/path/to/your/script false"
Для моей Sony Vaio у меня есть это в качестве моей личной настройки:
/etc/udev/rules.d/99-laptopac.rules
SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="/usr/local/bin/sony-thermal.sh true"
SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="/usr/local/bin/sony-thermal.sh false"
/usr/local/bin/sony-thermal.sh
#! / bin / sh help () {cat << EOF $ 0: управление тепловым профилем ноутбука SONY Этот сценарий выбирает между режимами "производительность" и "бесшумный" в зависимости от того, работает ли ноутбук от сети переменного тока или от батареи. EOF} set_sony_thermal_profile () {[! -d / sys / devices / platform / sony-laptop] && exit $ NA [! -f / sys / devices / platform / sony-laptop / thermal_control] && выйти из $ NA case $1 в исполнении) printf "Переключение терморегулятора SONY в режим перформанса". thermal_control = производительность;; тишина) printf "Настройка терморегулятора SONY в бесшумный режим." thermal_control = тихий;; *) printf "Настройка терморегулятора SONY на сбалансированный режим". thermal_control = сбалансированный;; esac echo "$ thermal_control"> / sys / devices / platform / sony-laptop / thermal_control && echo Готово. || \ echo Failed. } регистр $ 1 в true) set_sony_thermal_profile silent;; false) производительность set_sony_thermal_profile;; Помогите помогите;; *) выход $NA;; выход esac 0
Это препятствует непрерывному "дросселированию" процессора в моем ноутбуке даже в условиях малой нагрузки с большой производительностью и потерями в пользовательском опыте.
Сценарии Power Ubuntu по умолчанию могут быть запущены таким образом.
Добавить файл pm-utils
с этим содержанием
SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="/usr/sbin/pm-powersave true"
SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="/usr/sbin pm-powersave false"
в /etc/udev/rules.d/
И функции энергосбережения Ubuntu по умолчанию будут применяться при переключении с аккумулятора на переменный ток и обратно.
Существует проблема, что он не запускается при загрузке. Чтобы исправить это, добавьте
udevadm trigger -s power_supply
в /etc/rc.local
до exit0
,
В Ubuntu 16.04 другая проблема заключается в том, что Network Manager по умолчанию отключен. Когда интерфейс вызывается, он переопределяет pm-utils
установка.
Это также можно исправить, добавив файл 02-powersave
#!/bin/sh
[ "$1" = "wlan0" ] && [ "$2" = "up" ] && udevadm trigger -s power_supply
в /etc/NetworkManager/dispatcher.d
,
Примечание: вам нужно заменить wlan0
с вашим беспроводным интерфейсом, который можно найти в ifconfig
,