Alkaline 09.09.2011 18:03

Есть проблема!запоминание яркости экрана (gnome, нетбук)

Как я понял, в гноме (а может, и не только в нем) практически забили на проблему незапоминания яркости экрана при перезагрузке. Раздражает сильно, конечно, когда фигарит в полной темноте даже вполнакала. Поиск дал примерно следующее: мне необходимо создать при запуске скрипт примерно такого содержания:

sudo -s
echo 2 > /sys/class/backlight/acpi_video0/brightness
exit 0

Вручную точно работает. Не могу разобраться, куда и как установить скрипт и какие служебные поля в нем должны быть прописаны. В идеале лучше вообще писать не echo 2 > ... , а при перезагрузке или завершении работы запоминать значение из /sys/class/backlight/acpi_video0/actual_brightness , а при запуске устанавливать это значение, причем ДО экрана логина в систему.

Пробовал в /ect/init.d создать скрипт brightness-set такого содержания:

#! /bin/sh

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

sudo -s
echo 2 > /sys/class/backlight/acpi_video0/brightness
exit 0

Но куда класть ссылку и как ее пронумеровать и поименовать? Например, в /etc/rc5.d с именем S99brightness-set - ничего не происходит, а через несколько секунд после логина весь интерфейс "упрощается", панели и окна становятся плоскими, квадратными, что за фигня?

Прошу помочь. Нетбук lenovo U165, Mint 11.


Тэги: brightness gnome laptop гном нетбук яркость
+ 0 -
Похожие Поделиться

depeche 09.09.2011 18:16 #
можно прописать комманду в /etc/rc.local
или добавить в автостарт гнома.
Alkaline 09.09.2011 18:26 #
Команду в rc.local прописывал (без sudo -s, наверное?). Но не реагирует на это.

Далее, гном, по сути, я зря приплел, видимо. Желательно, чтобы яркость устанавливалась до экрана входа в систему, а то и там фигарит неимоверно. Может, есть какие еще решения?
uscr 09.09.2011 18:34 #
Попробуй подредактировать скрипт /etc/init/gdm.conf.
Вроде как оно дёргается как раз при старте гнома.

Но будь осторожен! Сейчас вечер пятницы. Мои советы не всегда адекватны в это время.
uscr 09.09.2011 18:36 #
О! А более праввильным решением подредактировать /etc/init.d/gdm. В процедуре start устанавливать яркость, а в stop его можно запоминать.
ananas 10.09.2011 17:09 #
скрипт - правильный ход. только оформить его надо по человечески

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#! /bin/bash

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

case $1 in
   start)
       [[ -e /etc/brightness ]] && BRIGHTNESS=$(< /etc/brightness)
       echo ${BRIGHTNESS:-2} > /sys/class/backlight/acpi_video0/brightness
       ;;
   stop)
       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/init.d и зарегистрировать в системе при помощи /lib/lsb/install_initd
Alkaline 11.09.2011 15:00 #
Уф, ananas, все бы ничего, но в Ubuntu нет install_initd. Видимо, аналог ему - update-rc.d. Запускаю:

#update-rc.d brightness-set start 99 1 2 3 4 5
update-rc.d: warning: brightness-set stop runlevel arguments (none) do not match LSB Default-Stop values (0 6)
update-rc.d: error: start|stop arguments not terminated by "."


Аналогично, если укажу stop для 0 6, то ругается на 1 2 3 4 5... В общем, ниасилил я пока синтаксис. Не очень дружелюбный (очевидный) он...

Кстати, полдела я сделал: оказывается, в настройках Power Management можно указать стартовый уровень яркости, в т.ч. Default - для входного экрана. Но все равно это не как в винде - запоминание параметра при выходе и восстановление при входе...
ananas 11.09.2011 16:17 #
поставь пакет lsb-base

/lib/lsb/install_initd и /lib/lsb/remove_initd - стандартные команды, описанные в LSB и должны пахать на любом lsb-совместимом дитрибутиве
Alkaline 11.09.2011 20:28 #
Кроме шуток, этот пакет установлен, согласно Синаптику. Но install_initd в системе по поиску я найти не могу. В папке /lib/lsb лежит единственный файл init-functions.

Возможно, кстати, что power-management Гнома все равно перекроет действие скрип та. На худой конец мне текущего поведения достаточно, хотя, окнечно, разобраться с задачей было бы инетресно.
ananas 11.09.2011 20:40 #
посмотри в /usr/lib/lsb
Alkaline 11.09.2011 21:04 #
Нету. Точняк. Я его даже реинсталлил. Нету.
ananas 11.09.2011 22:07 #
вероятно, дятлы из дебиана, по всоей всегдашней любви дробить пакеты по-поводу и без, запихали их в какой-то другой lsb-*

попробуй update-rc.d brightness-set defaults 5 95
Alkaline 12.09.2011 00:37 #
В общем, почитал-поковырялся, даже в данный скрипт врубился почти. )) Поправил 7-8 строки для своей системы на

# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6

и команда update-rc.d brightness-set defaults 5 95 перестала ругаться.

Но эффекта все равно нет. /etc/brightness запоминает яркость при выходе - но не воспроизводит ее при запуске. Вручную, вроде, все выполняется. Скриптом - даже напрямую написать echo 9 > /sys/class/backlight/acpi_video0/brightness - не будет эффекта.

Я думаю, power management гнома все перехватывает. Можно ли заставить скрипт выводить окно или еще что, если он отработал успешно? Или где логи посмотреть? Хотел было использовать команду beep, да спикера у меня нет...
ananas 12.09.2011 08:10 #
для логов можно использовать logger и смотреть /var/log/messages или что там в бубунте
ananas 12.09.2011 08:12 #
и единицу из default-stop убери
Alkaline 12.09.2011 12:13 #
Единица - это из-за того, что defaults. Есть такой параметр - он пытается (и пишет) в rc1. Если не указать единицу - все равно пишет, но ругается на несовпадение. Ладно, я удалил руками...

/var/log/messages в бубунте отсутствует. Ну, общую логику я понял, спасибо, ananas! Теперь уж доразбираюсь неспеша на досуге. Все равно эти знания были интересны и полезны.
uscr 12.09.2011 14:03 #
/var/log/messages присутствует в любом линуксе. Может без sudo она не показывает файлы, на которые нет прав?
Alkaline 12.09.2011 15:11 #
Братцы, да я третий месяц в сумме всего в этом вашем линуксе. )) Нету, вотъ:

# ls /var/log/
alternatives.log dist-upgrade jockey.log.3.gz samba
alternatives.log.1 dmesg kern.log syslog
apt dmesg.0 kern.log.1 syslog.1
aptitude dmesg.1.gz kern.log.2.gz syslog.2.gz
aptitude.1.gz dmesg.2.gz kern.log.3.gz syslog.3.gz
auth.log dmesg.3.gz kern.log.4.gz syslog.4.gz
auth.log.1 dmesg.4.gz lastlog syslog.5.gz
auth.log.2.gz dpkg.log mail.err syslog.6.gz
auth.log.3.gz dpkg.log.1 mail.log syslog.7.gz
auth.log.4.gz faillog mintsystem.log udev
boot fontconfig.log mintUpdate.history ufw.log
boot.log fsck news unattended-upgrades
bootstrap.log gdm pm-powersave.log wtmp
btmp installer pm-powersave.log.1 wtmp.1.gz
btmp.1.gz jockey.log pm-suspend.log Xorg.0.log
ConsoleKit jockey.log.1 pm-suspend.log.1 Xorg.0.log.old
cups jockey.log.2.gz pycentral.log Xorg.1.log


Может, это после запуска logger появляется? Как-то его в первый раз устанавливать надо? У меня SSD, поэтому, может, при установке я (по совету, конечно) как-нибудь запретил вести логи...
mealsforall 12.09.2011 18:29 #
/var/log/messages присутствует в любом линуксе, в котором syslog настроен кидать туда файлы. В последних бубунтах не настроен :)
mealsforall 12.09.2011 18:30 #
*Логи, а не файлы.
Alkaline 13.09.2011 01:13 #
Прочитал ваше сообщение. ))