Ubuntu 15:04 - utils больше не изучает/etc/pm/power.d/, что вместо этого?

Так как обновление от 14,10 до 15,04 моих пользовательских сценариев, которые я раньше устанавливал надлежащий тепловой режим профиля для моего ноутбука, прекратило работать, которому я верю, то, потому что пополудни-utils не отвечают на переключение AC/BAT.

Теперь, если это - новое намеченное поведение системы, куда теперь я должен поместить свой сценарий, чтобы сделать то задание (требуемый, чтобы мой ноутбук работал правильно даже на питании переменным током)?

6
задан 25 April 2015 в 01:29

2 ответа

Хорошо, найденный ответом в Дуге Wiki. Они дают следующее решение:

Существует всего одна вещь systemd, не может сделать (с systemd-204): управление питанием в зависимости от того, работает ли система на AC или батарее. Для заполнения этого разрыва можно создать единственное правило 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"

Для моего Vaio Sony у меня есть это как моя персональная установка:

/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 <&ltEOF
$0: SONY laptop thermal profile management

This script selects between "performance" and "silent" modes depending
on whether laptop runs on AC power or battery power.

EOF
}

set_sony_thermal_profile() {
    [ ! -d /sys/devices/platform/sony-laptop ] && exit $NA
    [ ! -f /sys/devices/platform/sony-laptop/thermal_control ] && exit $NA
    case $1 in
    performance) 
        printf "Setting SONY thermal control to performace mode."
        thermal_control=performance ;;
    silent)
        printf "Setting SONY thermal control to silent mode."
        thermal_control=silent ;;
    *)
        printf "Setting SONY thermal control to balanced mode."
        thermal_control=balanced ;;
    esac
    echo "$thermal_control" > /sys/devices/platform/sony-laptop/thermal_control && echo Done. || \
    echo Failed.
}

case $1 in
    true) set_sony_thermal_profile silent ;;
    false) set_sony_thermal_profile performance ;;
    help) help ;;
    *) exit $NA ;;
esac

exit 0

Это предотвращает ЦП в моем ноутбуке для входа в "регулировку" непрерывно даже при легких условиях загрузки с высокой эффективностью, и пользователь несут потери.

5
ответ дан 23 November 2019 в 07:34

Сценарии питания 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 по умолчанию powersave функции будет применена, когда Вы переключитесь от батареи до AC и назад.

Существует проблема, что она не инициирована на начальной загрузке. Для фиксации его добавить

udevadm trigger -s power_supply

кому: /etc/rc.local прежде exit0.

С Ubuntu 16.04 другая проблема состоит в том что значения по умолчанию Администратора сети к Управлению питанием прочь. Когда интерфейс поднят, он переопределяет pm-utils установка.

Это может также быть зафиксировано путем добавления файла 02-powersave

#!/bin/sh

[ "$1" = "wlan0" ] && [ "$2" = "up" ] && udevadm trigger -s power_supply

кому: /etc/NetworkManager/dispatcher.d.

Примечание: Необходимо заменить wlan0 с Вашим беспроводным интерфейсом, который может быть найден в ifconfig.

4
ответ дан 23 November 2019 в 07:34

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

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