мой ноутбук Dell подвержен этой ошибке с ядром 3.14. В качестве обходного пути я написал простой сценарий
/ USR / бен / Яркость-фикс:
#!/bin/bash
echo 0 > /sys/class/backlight/intel_backlight/brightnes
(и сделал исполняемый файл: chmod +x /usr/bin/brightness-fix
)
и вызывающая его служба systemd, которая выполняется при запуске:
/etc/systemd/system/brightness-fix.service
[Unit]
Description=Fixes intel backlight control with Kernel 3.14
[Service]
Type=forking
ExecStart=/usr/bin/brightness-fix
TimeoutSec=0
StandardOutput=syslog
#RemainAfterExit=yes
#SysVStartPriority=99
[Install]
WantedBy=multi-user.target
и включен: systemctl enable /etc/systemd/system/brightness-fix.service
Это работает как брелок, и я могу контролировать яркость дисплея по своему желанию. Проблема возникает, когда ноутбук возобновляет работу после перехода в спящий режим (например, при закрытии губы ноутбука): управление яркостью больше не работает, если я вручную не выполню свой первый скрипт, описанный выше:/usr/bin/brightness-fix
Как я могу создать другой сервис systemd, как мой выше, который будет выполняться во время возобновления?
РЕДАКТИРОВАТЬ:
Согласно комментариям ниже, я изменил мой, brightness-fix.service
как это:
[Unit]
Description=Fixes intel backlight control with Kernel 3.14
[Service]
Type=oneshot
ExecStart=/usr/local/bin/brightness-fix
TimeoutSec=0
StandardOutput=syslog
[Install]
WantedBy=multi-user.target sleep.target
Также я добавил echo "$1 $2" > /home/luca/br.log
в свой скрипт, чтобы проверить, действительно ли он выполняется. Сценарий, он на самом деле выполняется также в resume ( post suspend
), но он не имеет никакого эффекта (подсветка равна 100% и не может быть изменена). Я также попытался войти в систему $DISPLAY
и $USER
, во время возобновления, они пусты. Поэтому я предполагаю, что сценарий выполняется слишком рано, когда просыпается ото сна. Любой намек?
/usr/local/bin
нет /usr/bin
. этот каталог зарезервирован только для менеджера пакетов.
sleep.target
запускает устройство, когда компьютер спит, а не когда оно возобновляется. Смотрите мой ответ ниже для файла модуля, который работал для меня с подобной проблемой.
WantedBy=sleep.target
...