LINUX.ORG.RU

Демон запоминающий яркость дисплея

 , ,


0

1

приветствую вас, лорчане!
продолжаю пилить арч. каждый раз при запуске приходится настраивать яркость экрана. очень утомляет пальцы рук =)
нашел довольно сырое решение в виде демона, который записывает текущий показатель яркости в файл «/etc/brightness» и при перезапуске ставит уровень яркости из этого файла.
вот код:

#! /bin/bash

### BEGIN INIT INFO
# Provides: brightness
# Required-Start: $local_fs $syslog $remote_fs dbus
# Required-Stop: $local_fs $syslog $remote_fs
# Default-Start: 35
# Default-Stop: 06
### END INIT INFO

case $1 in
   start)
	su -c 'cat /etc/brightness > /sys/class/backlight/acpi_video0/brightness'
       ;;
   stop)
	su -c 'cat /sys/class/backlight/acpi_video0/brightness > /etc/brightness'
       ;;
   restart)
       $0 stop
       sleep 1
       $0 start
       ;;
   *)
       echo "usage: $0 {start|stop|restart"
       ;;
esac

exit 0

кинул в «/etc/rc.d/» c именем «brightness». сделал чмод 755. также прописал в секции DAEMONS в «/etc/rc.conf». вышло примерно так DAEMONS=(syslog-ng dbus dkms @networkmanager netfs crond @alsa @samba @bluetooth brightness)

при запуске системы демон стартует, меняет яркость, но каждый раз там одно и то же значение. тоесть гдето у него возникают трудности со stop'ом насколько я понял.
у кого какие мысли по этому поводу? также прошу обратить внимание на секции:

Default-Start: 35
Default-Stop: 06

мне кажется я чтото упустил %)
чуть не зыбыл, подопытный Arch-3.5.3 + xfce4.10 + slim

Демон запоминающий яркость дисплея

Вот до чего арч может довести людей

anonymous_sama ★★★★★ ()

вот что арч животворящий делает

registrant ★★★★★ ()

Что только люди не делают, лишь бы не ставить systemd.

vurdalak ★★★★★ ()

Гм, у меня значения в /sys/class/backlight/acpi_video0/brightness меняются, а яркость остается прежней.

unfo ★★★★★ ()

А хардварно уж не модно? Отстал я от моды, видимо.

Dragon59 ★★ ()

Включаешь и выключаешь демона с одним и тем же значением наверняка

pztrn ★★★★ ()

В KDE уровень яркости можно выставить из настроек. Зачем эти костыли...

unikum ★★★★★ ()

склоняюсь к тому, что все дело в рутовых правах на запись,
которые почемуто не передаются скрипту. а именно конструкция «su -c ...»

nblxtap ()

Только вот это не демон, дружок.

anonymous ()

UPD: немного подправил скрипт, теперь работает как часы :P

#! /bin/bash

### BEGIN INIT INFO
# Provides: brightness
# Required-Start: $local_fs $syslog $remote_fs dbus
# Required-Stop: $local_fs $syslog $remote_fs
# Default-Start: 35
# Default-Stop: 06
### END INIT INFO

case $1 in
   start)
	sudo cat /etc/brightness | sudo tee /sys/class/backlight/acpi_video0/brightness >/dev/null
       ;;
   stop)
	sudo cat /sys/class/backlight/acpi_video0/actual_brightness | sudo tee /etc/brightness >/dev/null
       ;;
   restart)
       $0 stop
       sleep 1
       $0 start
       ;;
   *)
       echo "usage: $0 {start|stop|restart}"
       ;;
esac

exit 0

проблема была в том что скрипт считывал brightness вместо actual_brightness, поэтому значение не менялось. так то.

всем спасибо!

nblxtap ()
Ответ на: комментарий от anonymous

Только вот это не демон, дружок.

о чем вы говорите, сударь?

nblxtap ()
Ответ на: комментарий от anonymous

не буду с вами спорить ибо не компетентен в столь тонких материях, но вы товарисч сами то читали по ссылке?
«демон - процесс работающий в фоне и ожидающий событий или условий для выполнения»
будьте добры объяснить новичку свою точку зрения?

nblxtap ()

У меня такое чувство, что это костыль. Выключи его, передай ядру при загрузке параметр acpi_backlight=vendor и посмотри, что будет.

post-factum ★★★★★ ()
Ответ на: комментарий от nblxtap

A daemon is a type of background process designed to run continually ...

anonymous ()
Ответ на: комментарий от anonymous

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

nblxtap ()
Ответ на: комментарий от post-factum

У меня такое чувство, что это костыль. Выключи его, передай ядру при загрузке параметр acpi_backlight=vendor и посмотри, что будет.

а кроме добавления параметра мне больше ничего с ядром делать не нужно? может чтото типа «grub update»?

nblxtap ()

Забавно, у меня все с точностью наоборот. Железка сама запоминает яркость при выключении (но не при перезагрузке). Приходится каждое включение ставить максимальную через setpci, иначе старый уровень яркости (до выключения) становится максимально возможным.
Может кто знает как у меня проблему без костыля в rc.local решить?

Black_Roland ★★★★ ()
Ответ на: комментарий от nblxtap

Это смотря, какой граб. Если второй, то grub-mkconfig не помешает.

post-factum ★★★★★ ()

acpi_backlight=vendor и make-config не возымели успеха. но мне както п... и так все работает отлично =)

nblxtap ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.