Автоматическое снижение яркости

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Автоматическое снижение яркости

#1

15 мар 2020, 09:33

Здравствуйте! Незнаю куда писать (плохо знаком со структурой форума), поэтому создал запись здесь.
В Linux Mint <= 18, с любым DE, была архиполезнейшая фича - при переключении питания на батарейку (на ноутбуке, разумеется), яркость дисплея снижалась где-то вдвое и восстанавливалась обратно если запитать машину от сети. Снижение яркости у меня увеличивает время работы от батареи вдвое (!). В Минт 19 (со всеми DE) эту фишку выпилили (зачем-то). Сейчас я снижаю яркость вручную (кнопками Fn + (<- || ->)), но это не удобно (много раз давить надо (пробовал alias делать чтобы xrandr-ом одной командой из консоли гасить, но это тоже не торт), плюс можно просто забыть переключить и быстро посадить батарею).
Вопрос: как сделать автоматическое снижение и повышение яркости в зависимости от типа питания?
ЗЫ: При гуглении у меня создалось впечатление что этот вопрос беспокоит меня одного - не только нет решений, но даже никто не спрашивает. Так что может быть эту настройку куда-то хитро спрятали? Хотя я все перерыл и даже в gconf-editor-е ковырялся и ничего не нашел.

Решение demonlibra » 15 мар 2020, 10:15
http://askubuntu.com/questions/613741/u ... at-instead
http://www.linux.org.ru/forum/desktop/11554844

Сперва определите команду и диапазон для изменения яркости. Например у меня это:

Код: Выделить всё

echo -n 1080 | sudo tee /sys/class/backlight/intel_backlight/brightness
Создать файл /etc/udev/rules.d/powersafe.rules

Код: Выделить всё

sudo nano powersafe.rules /etc/udev/rules.d/powersafe.rules

SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="/usr/local/bin/powersafe.sh true"
SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="/usr/local/bin/powersafe.sh false"
Для просмотра состояния выполнить в терминале, после чего вытащить и вставить зарядку

Код: Выделить всё

udevadm monitor -p -u -s power_supply
В моём случае триггером для сценария служит атрибут status. На другом железе атрибут и его значения могут быть другими.

Создать файл /usr/local/bin/powersafe.sh

Код: Выделить всё

sudo nano powersafe.sh /usr/local/bin/powersafe.sh

#!/bin/bash

case $1 in
    true)
		echo -n 800 > /sys/class/backlight/intel_backlight/brightness
    ;;
    false)
		echo -n 1380 > /sys/class/backlight/intel_backlight/brightness
    ;;
esac
Вам нужно будет найти для своего железа имя файла и подставить свои значения яркости.
В этот сценарий можно добавить другие действия. Например менять время парковки жесткого диска.

Дать сценарию права для запуска

Код: Выделить всё

sudo chmod +x /usr/local/bin/powersafe.sh
Добавить в автозагрузку чтобы при включении происходил опрос и яркость менялась. Иначе будет задана установленная при последней работе.

Код: Выделить всё

sudo udevadm trigger -s power_supply
Создать файл

Код: Выделить всё

sudo nano /etc/systemd/system/powersafe.service

[Unit]
Description=brightness
After=network.target

[Service]
Type=oneshot
ExecStart=/sbin/udevadm trigger -s power_supply

[Install]
WantedBy=multi-user.target
Выполнить в терминале

Код: Выделить всё

sudo systemctl daemon-reload
sudo systemctl enable powersafe.service

Перейти к ответу ➙

Аватара пользователя

symon2014
Сообщения: 5924
Зарегистрирован: 16 дек 2017, 21:59
Решено: 36
Откуда: Феодосия
Благодарил (а): 32 раза
Поблагодарили: 747 раз
Контактная информация:

Автоматическое снижение яркости

#2

15 мар 2020, 09:54

Sova,
Снимок экрана в 2020-03-15 09-53-59.png

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Автоматическое снижение яркости

#3

15 мар 2020, 10:01

symon2014, в Cinnamon такого нет (да и в остальных на виртуалке я не видел)
Вложения
Снимок экрана от 2020-03-15 13-59-01.png

Аватара пользователя

demonlibra
Сообщения: 844
Зарегистрирован: 12 авг 2017, 09:09
Решено: 13
Откуда: Ростов-на-Дону
Благодарил (а): 29 раз
Поблагодарили: 204 раза
Контактная информация:

Автоматическое снижение яркости

#4

15 мар 2020, 10:15

http://askubuntu.com/questions/613741/u ... at-instead
http://www.linux.org.ru/forum/desktop/11554844

Сперва определите команду и диапазон для изменения яркости. Например у меня это:

Код: Выделить всё

echo -n 1080 | sudo tee /sys/class/backlight/intel_backlight/brightness
Создать файл /etc/udev/rules.d/powersafe.rules

Код: Выделить всё

sudo nano powersafe.rules /etc/udev/rules.d/powersafe.rules

SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="/usr/local/bin/powersafe.sh true"
SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="/usr/local/bin/powersafe.sh false"
Для просмотра состояния выполнить в терминале, после чего вытащить и вставить зарядку

Код: Выделить всё

udevadm monitor -p -u -s power_supply
В моём случае триггером для сценария служит атрибут status. На другом железе атрибут и его значения могут быть другими.

Создать файл /usr/local/bin/powersafe.sh

Код: Выделить всё

sudo nano powersafe.sh /usr/local/bin/powersafe.sh

#!/bin/bash

case $1 in
    true)
		echo -n 800 > /sys/class/backlight/intel_backlight/brightness
    ;;
    false)
		echo -n 1380 > /sys/class/backlight/intel_backlight/brightness
    ;;
esac
Вам нужно будет найти для своего железа имя файла и подставить свои значения яркости.
В этот сценарий можно добавить другие действия. Например менять время парковки жесткого диска.

Дать сценарию права для запуска

Код: Выделить всё

sudo chmod +x /usr/local/bin/powersafe.sh
Добавить в автозагрузку чтобы при включении происходил опрос и яркость менялась. Иначе будет задана установленная при последней работе.

Код: Выделить всё

sudo udevadm trigger -s power_supply
Создать файл

Код: Выделить всё

sudo nano /etc/systemd/system/powersafe.service

[Unit]
Description=brightness
After=network.target

[Service]
Type=oneshot
ExecStart=/sbin/udevadm trigger -s power_supply

[Install]
WantedBy=multi-user.target
Выполнить в терминале

Код: Выделить всё

sudo systemctl daemon-reload
sudo systemctl enable powersafe.service
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Автоматическое снижение яркости

#5

15 мар 2020, 13:30

demonlibra, Сделал, работает. Вообще отличное решение! Только не понял:
1) "sudo -i" с самого начала зачем? Ведь остальные команды все-равно через sudo написаны
2) "sudo nano powersafe.rules /etc/udev/rules.d/powersafe.rules" зачем "powersafe.rules" после nano? если там дальше путь прописан? Дальше "powersafe.sh" - таже история
3) Почему разрабы сами этого не сделали?
4) Вместо "sudo echo -n 1380 > /sys/class/backlight/intel_backlight/brightness" я получил значение из "cat /sys/class/backlight/intel_backlight/max_brightness" и вставил в /usr/local/bin/powersafe.sh его и его половину соответственно

Аватара пользователя

demonlibra
Сообщения: 844
Зарегистрирован: 12 авг 2017, 09:09
Решено: 13
Откуда: Ростов-на-Дону
Благодарил (а): 29 раз
Поблагодарили: 204 раза
Контактная информация:

Автоматическое снижение яркости

#6

15 мар 2020, 13:54

1) Без sudo -i у меня следующая команда выдает "Отказано в доступе"
2) Вы правы, это я напортачил. Хорошо, что Вы не бездумно копируете команды. :bravo:
3) Не знаю :sry: . Оставляют место для творчества :dash2:

У меня два диска, SSD с системой и HDD с помойкой. Я добавил в сценарий изменение времени парковки диска.

Код: Выделить всё

#!/bin/bash

case $1 in
    true)
		echo -n 800 > /sys/class/backlight/intel_backlight/brightness
		hdparm -S60 /dev/sda
    ;;
    false)
		echo -n 1380 > /sys/class/backlight/intel_backlight/brightness
		hdparm -S240 /dev/sda
    ;;
esac
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

symon2014
Сообщения: 5924
Зарегистрирован: 16 дек 2017, 21:59
Решено: 36
Откуда: Феодосия
Благодарил (а): 32 раза
Поблагодарили: 747 раз
Контактная информация:

Автоматическое снижение яркости

#7

15 мар 2020, 14:25

demonlibra писал(а):
15 мар 2020, 10:15
sudo -i
sudo echo -n 1380 > /sys/class/backlight/intel_backlight/brightness
Sova писал(а):
15 мар 2020, 13:30
"sudo -i" с самого начала зачем? Ведь остальные команды все-равно через sudo написаны
demonlibra писал(а):
15 мар 2020, 13:54
Без sudo -i у меня следующая команда выдает "Отказано в доступе"
Это путаница , как в испорченном телефоне (детская игра). Из-за команды ">" , sudo , бывшее в начале строки , перестаёт действовать. Команда sudo -i задаёт повышенные привилегии для всех последующих действий , но тогда sudo в следующей строке теряет смысл . По уму (не сильно большому :hoho: ) правильнее выглядело бы так.
sudo -i
echo -n 1380 > /sys/class/backlight/intel_backlight/brightness

Аватара пользователя

demonlibra
Сообщения: 844
Зарегистрирован: 12 авг 2017, 09:09
Решено: 13
Откуда: Ростов-на-Дону
Благодарил (а): 29 раз
Поблагодарили: 204 раза
Контактная информация:

Автоматическое снижение яркости

#8

08 фев 2021, 07:03

symon2014 писал(а):
15 мар 2020, 14:25
sudo -i
echo -n 1380 > /sys/class/backlight/intel_backlight/brightness
Мой ум с этим вариантом согласен на все 100. Проверка в терминале подтверждает признаки наличия интеллекта.
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

rogoznik
Сообщения: 10015
Зарегистрирован: 27 июн 2017, 13:36
Решено: 128
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1950 раз
Контактная информация:

Автоматическое снижение яркости

#9

08 фев 2021, 07:19

demonlibra писал(а):
08 фев 2021, 07:03
Мой ум с этим вариантом согласен на все 100. Проверка в терминале подтверждает признаки наличия интеллекта.
Думаю лучше было бы так

Код: Выделить всё

echo -n 1380 | sudo tee /sys/class/backlight/intel_backlight/brightness
ИзображениеИзображение

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Автоматическое снижение яркости

#10

08 фев 2021, 07:22

rogoznik писал(а):
08 фев 2021, 07:19
demonlibra писал(а):
08 фев 2021, 07:03
Мой ум с этим вариантом согласен на все 100. Проверка в терминале подтверждает признаки наличия интеллекта.
Думаю лучше было бы так

Код: Выделить всё

echo -n 1380 | sudo tee /sys/class/backlight/intel_backlight/brightness
Я тему поднял обратно, потому что в Mint 20.1 оно работать перестало. Сервис в Системд не запускался, потому что udevadm переехал из /sbin в /bin. Это я поправил (в файле /etc/systemd/system/powersafe.service), но все-равно оно автоматически теперь не срабатывает

Аватара пользователя

demonlibra
Сообщения: 844
Зарегистрирован: 12 авг 2017, 09:09
Решено: 13
Откуда: Ростов-на-Дону
Благодарил (а): 29 раз
Поблагодарили: 204 раза
Контактная информация:

Автоматическое снижение яркости

#11

09 фев 2021, 11:41

Sova писал(а):
08 фев 2021, 07:22
в Mint 20.1 оно работать перестало
Просто команда изменения яркости в терминале работает?
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

demonlibra
Сообщения: 844
Зарегистрирован: 12 авг 2017, 09:09
Решено: 13
Откуда: Ростов-на-Дону
Благодарил (а): 29 раз
Поблагодарили: 204 раза
Контактная информация:

Автоматическое снижение яркости

#12

09 фев 2021, 13:40

Проверил у себя на Mint 20.1
Работает.
Только изменил путь к udevadm в файле /etc/systemd/system/powersafe.service
ExecStart=/usr/bin/udevadm trigger -s power_supply
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Автоматическое снижение яркости

#13

09 фев 2021, 14:45

demonlibra писал(а):
09 фев 2021, 13:40

Работает.
Только изменил путь к udevadm ]
А у меня результата нет.
Если просто в консоли сделать "sudo udevadm trigger -s power_supply", то подсветка переключается, а автоматически нет.
Что еще проверить можно?

Аватара пользователя

demonlibra
Сообщения: 844
Зарегистрирован: 12 авг 2017, 09:09
Решено: 13
Откуда: Ростов-на-Дону
Благодарил (а): 29 раз
Поблагодарили: 204 раза
Контактная информация:

Автоматическое снижение яркости

#14

09 фев 2021, 17:39

Через терминал яркость меняется?

Код: Выделить всё

echo -n 1080 | sudo tee /sys/class/backlight/intel_backlight/brightness
Это команда для моего железа. Вы подставьте свою.
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Автоматическое снижение яркости

#15

09 фев 2021, 17:56

demonlibra писал(а):
09 фев 2021, 17:39
Через терминал яркость меняется?

Код: Выделить всё

echo -n 1080 | sudo tee /sys/class/backlight/intel_backlight/brightness
Это команда для моего железа. Вы подставьте свою.
Да, меняется. Впечатление что удав не обрабатывает события питания, поэтому вручную меняется, а автоматически нет.

Моя команда "echo -n 60000 | sudo tee /sys/class/backlight/intel_backlight/brightness", я с самого начала в скриптах так сделал

Аватара пользователя

demonlibra
Сообщения: 844
Зарегистрирован: 12 авг 2017, 09:09
Решено: 13
Откуда: Ростов-на-Дону
Благодарил (а): 29 раз
Поблагодарили: 204 раза
Контактная информация:

Автоматическое снижение яркости

#16

09 фев 2021, 18:07

Покажите вывод команды:

Код: Выделить всё

sudo systemctl status powersafe.service
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Автоматическое снижение яркости

#17

09 фев 2021, 18:11

demonlibra писал(а):
09 фев 2021, 18:07
Покажите вывод команды:

Код: Выделить всё

sudo systemctl status powersafe.service
● powersafe.service - brightness
Loaded: loaded (/etc/systemd/system/powersafe.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Tue 2021-02-09 18:41:57 +07; 3h 27min ago
Process: 933 ExecStart=/usr/bin/udevadm trigger -s power_supply (code=exited, status=0/SUCCESS)
Main PID: 933 (code=exited, status=0/SUCCESS)

фев 09 18:41:57 TUF-Gaming-FX505GT systemd[1]: Starting brightness...
фев 09 18:41:57 TUF-Gaming-FX505GT systemd[1]: powersafe.service: Succeeded.
фев 09 18:41:57 TUF-Gaming-FX505GT systemd[1]: Finished brightness.

Были проблемы из-за смены пути udevadm, но я путь исправил.

Аватара пользователя

demonlibra
Сообщения: 844
Зарегистрирован: 12 авг 2017, 09:09
Решено: 13
Откуда: Ростов-на-Дону
Благодарил (а): 29 раз
Поблагодарили: 204 раза
Контактная информация:

Автоматическое снижение яркости

#18

09 фев 2021, 18:20

Странно, я этот сервис у себя удалил, а яркость всё равно меняется. Чудеса.
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Автоматическое снижение яркости

#19

09 фев 2021, 18:33

demonlibra писал(а):
09 фев 2021, 18:20
Странно, я этот сервис у себя удалил, а яркость всё равно меняется. Чудеса.
А у меня наоборот :)

Аватара пользователя

demonlibra
Сообщения: 844
Зарегистрирован: 12 авг 2017, 09:09
Решено: 13
Откуда: Ростов-на-Дону
Благодарил (а): 29 раз
Поблагодарили: 204 раза
Контактная информация:

Автоматическое снижение яркости

#20

09 фев 2021, 20:41

Сервис /etc/systemd/system/powersafe.service служит только для того чтобы пнуть при загрузке системы.

Всё лежит на /etc/udev/rules.d/powersafe.rules.
Может его надо как-то активировать.
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Закрыто

Вернуться в «Вопрос новичка и FaQ»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя