Форум русскоязычного сообщества Ubuntu


Автор Тема: Время (длительность) подсветки клавиатуры (DELL Inspiron 5770, Xfce)  (Прочитано 460 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Izoom

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
  • Это не легко, но так просто (с)
    • Просмотр профиля
Xubuntu 16.04 (раньше была Ubuntu 16.04 с Unity от Dell).

uname -a
Linux Dell 4.10.0-40-generic #44~16.04.1-Ubuntu SMP Thu Nov 9 15:37:44 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Никаких проблем с настройкой яркости и включения подсветки клавиатуры нет - тут все хорошо (Off/50%/100%).

При работе ноутбука от батареи подсветка клавиатуры работает ~ 10 сек после нажатия клавиши или использования тачпада. В принципе, как и задумано - в BIOS она себя ведет аналогично при работе от батареи.

Но при подключении питания длительность подсветки падает до ~ 1 сек. В BIOS есть одна настройка, дающая аналогичный эффект, называется "Keyboard Backlight with AC". Если снять эту галочку, то при подключении питания от сети, подсветка клавиатуры также работает 1 сек (в самом BIOS).

Это управляется настройками Xfce или тут дело в отсутствии родных драйверов?

Оффлайн zg_nico

  • Участник
  • *
  • Сообщений: 200
    • Просмотр профиля
Если снять эту галочку, то при подключении питания от сети, подсветка клавиатуры также работает 1 сек (в самом BIOS).
То есть подсветка клавиатуры при подключенном адаптере питания в Xubuntu вообще от этой галочки не зависит? Что с ней, что без нее - 1 секунда?
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu MATE 64x 16.04.3 [EFI]. Windows 7 Ultimate x64 [EFI].

Оффлайн Izoom

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
  • Это не легко, но так просто (с)
    • Просмотр профиля
вообще от этой галочки не зависит
Да. Эта настройка в BIOS влияет только на поведение подсветки клавиатуры в самом BIOS.
Может быть тут что-то можно дописать?
~/.config/xfce4/xfconf/xfce-perchannel-xml$ cat xfce4-power-manager.xml
<?xml version="1.0" encoding="UTF-8"?>

<channel name="xfce4-power-manager" version="1.0">
  <property name="xfce4-power-manager" type="empty">
    <property name="power-button-action" type="empty"/>
    <property name="lock-screen-suspend-hibernate" type="empty"/>
    <property name="logind-handle-lid-switch" type="empty"/>
    <property name="blank-on-ac" type="empty"/>
    <property name="blank-on-battery" type="empty"/>
    <property name="dpms-enabled" type="bool" value="true"/>
    <property name="dpms-on-ac-sleep" type="empty"/>
    <property name="dpms-on-ac-off" type="empty"/>
    <property name="dpms-on-battery-sleep" type="empty"/>
    <property name="dpms-on-battery-off" type="empty"/>
    <property name="brightness-switch-restore-on-exit" type="int" value="1"/>
    <property name="brightness-switch" type="int" value="0"/>
    <property name="critical-power-action" type="uint" value="1"/>
    <property name="presentation-mode" type="bool" value="false"/>
    <property name="handle-brightness-keys" type="bool" value="true"/>
    <property name="brightness-on-ac" type="uint" value="9"/>
    <property name="inactivity-on-battery" type="uint" value="14"/>
    <property name="brightness-level-on-battery" type="uint" value="80"/>
    <property name="brightness-on-battery" type="uint" value="9"/>
  </property>
</channel>

Пользователь добавил сообщение 08 Декабрь 2017, 23:00:12:
Нашел, где это отражается, но кто именно от root'a пишет туда эти секунды, не понятно.

Подключаем адаптер AC:
cat /sys/class/leds/dell\:\:kbd_backlight/stop_timeout
1s

Отключаем адаптер AC:
cat /sys/class/leds/dell\:\:kbd_backlight/stop_timeout
10s

Костыльный вариант chmod 444 stop_timeout не работает.

Листинг всего, что там есть:
(Нажмите, чтобы показать/скрыть)

Пользователь добавил сообщение 08 Декабрь 2017, 23:15:49:
xfce4-power-manager --dump
---------------------------------------------------
       Xfce power manager version 1.4.4
С поддержкой policykit
С поддержкой менеджера сети
---------------------------------------------------
Возможен ждущий режим: Да
Возможен спящий режим: Нет
Разрешён перевод в ждущий режим: Да
Разрешён перевод в спящий режим: Нет
Разрешено завершение работы: Да
Есть батарея: Да
Есть регулятор яркости: Да
Есть кнопка отключения: Да
Есть клавиша перехода в спящий режим: Да
Есть кнопка ждущего режима: Да
Есть крышка: Да

xfconf-query -c xfce4-power-manager -lv
/xfce4-power-manager/blank-on-ac                        15
/xfce4-power-manager/blank-on-battery                   10
/xfce4-power-manager/brightness-level-on-battery        80
/xfce4-power-manager/brightness-on-ac                   9
/xfce4-power-manager/brightness-on-battery              9
/xfce4-power-manager/brightness-switch                  0
/xfce4-power-manager/brightness-switch-restore-on-exit  1
/xfce4-power-manager/critical-power-action              1
/xfce4-power-manager/dpms-enabled                       true
/xfce4-power-manager/dpms-on-ac-off                     60
/xfce4-power-manager/dpms-on-ac-sleep                   20
/xfce4-power-manager/dpms-on-battery-off                30
/xfce4-power-manager/dpms-on-battery-sleep              15
/xfce4-power-manager/handle-brightness-keys             true
/xfce4-power-manager/inactivity-on-battery              14
/xfce4-power-manager/lid-action-on-ac                   1
/xfce4-power-manager/lid-action-on-battery              1
/xfce4-power-manager/lock-screen-suspend-hibernate      true
/xfce4-power-manager/logind-handle-lid-switch           true
/xfce4-power-manager/power-button-action                3
/xfce4-power-manager/presentation-mode                  false
/xfce4-power-manager/show-tray-icon                     0
« Последнее редактирование: 08 Декабрь 2017, 23:15:49 от Izoom »

Оффлайн zg_nico

  • Участник
  • *
  • Сообщений: 200
    • Просмотр профиля
кто именно от root'a пишет туда эти секунды
uDev?
Надо как-то отследить какие правила запускаются при подключении и отключении адаптера питания. Я бы с этого начал... Правда механизм однозначный мне для этого не известен. Может, кто из форумчан пограмотнее будет - смогут подсказать. Общий принцип: просматривать /lib/udev/rules.d/ на предмет наличия соответствующего правила, по-видимому.
Но есть обходной путь. Можно попробовать закостылить... Создайте скрипт вида
#!/bin/sh
echo "10s" > /sys/class/leds/dell\:\:kbd_backlight/stop_timeout
Сохраните куда-нибуь, дайте права на исполнение. Запускать его планируется udev'ом, поэтому он будет выполняться от ROOT.
(Нажмите, чтобы показать/скрыть)
Формируем правило вида (исходные данные под спойлером выше, - ПРОВЕРЬТЕ У СЕБЯ, прежде чем создавать):
ACTION=="change", SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Unknown", RUN+="ПУТЬ_К_НАШЕМУ_СКРИПТУ"это все сохраняем в файл /etc/udev/rules.d/20-myACrule.rules
далее перезагружаем машину, - проверяем работу. Если есть дефекты, допишите в скрипт "ПУТЬ_К_НАШЕМУ_СКРИПТУ" создание еще какого-нибудь файла в домашней директории. Так хоть понятно станет - правило не отработало (скрипт не был вызван), или скрипт не может записать данные в файл.
Гарантий, естественно, никаких не могу дать  :-\
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu MATE 64x 16.04.3 [EFI]. Windows 7 Ultimate x64 [EFI].

Оффлайн Izoom

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
  • Это не легко, но так просто (с)
    • Просмотр профиля
Загрузился с чистой Ubuntu 16.04 Unity (не Dell'овской) - клавиатура ведет себя точно также как в BIOS при включенном "Keyboard Backlight with AC" - когда подключено питание горит вечно, когда только батарея - 10 сек.

При этом тут все меняется аналогично (1 сек при питании от сети, 10 сек при питании от батареи):
cat /sys/class/leds/dell\:\:kbd_backlight/stop_timeout
1s
Но в Unity эта настройка перекрывается чем-то другим - аналогом "Keyboard Backlight with AC" в BIOS. Чем вот только?

Оффлайн ecc83

  • Активист
  • *
  • Сообщений: 917
  • Ubuntu MATE 16.04.3 LTS CentOS 7
    • Просмотр профиля
это все сохраняем в файл /etc/udev/rules.d/20-myACrule.rules далее перезагружаем машину

Можно без перезагрузки.
После каждого изменения правила, перезапускаем демон:

sudo udevadm control --reload-rules

Оффлайн Izoom

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
  • Это не легко, но так просто (с)
    • Просмотр профиля
с чистой Ubuntu 16.04 Unity (не Dell'овской) - клавиатура ведет себя точно также как в BIOS при включенном "Keyboard Backlight with AC" - когда подключено питание горит вечно, когда только батарея - 10 сек.

В общем, это оказалось не так - в любых DE 16.04/17.10 клавиатура работает корректно до установки обновлений. Как только ставишь обновления (простой update/upgrade без правки источников) - клавиатура начинает работать некорректно.

Оффлайн zg_nico

  • Участник
  • *
  • Сообщений: 200
    • Просмотр профиля
Как только ставишь обновления
А обновлениями, сколь я могу судить, является некая новая версия ядра (новее, чем "коробочная"). У меня с подсветкой экрана такая лабуда была (только в инвертированном варианте). В ядрах коробочной версии ни в одном DE 16.04.2 не оживала регулировка подсветки экрана. Либо клавиши воспринимались, но яркость не регулировалась, либо и комбинации клавишь даже не воспринимались. Но я испугаться даже не успел - попробовал версию 17.04, там все "искаробки" поднялось. Обновил ядро на своей 16.04, и все стало тип-топ.
В Вашем случае, судя по всему, ядро-то как раз обновлять и нельзя. Грустно всё, короче... :(
Остается надеяться, что пофиксят. Либо пытаться сдать как баг разработчикам ядра (где-то натыкался на подобное, но сам никогда такого не делал, - не подскажу как).
...
И еще момент - "закостылить" через udev пробовали? Просто если это прокатит - то к чему велосипед два раза изобретать? Как надумаете новую версию ядра обкатать - правило "в игнор" путем хоть даже комментирования соответствующей строки кода в скрипте, на которое правило ссылается, перезагрузка, - проба. Если завелось, и работает нормально подсветка, то правило "фтопку". В противном случае - раскомментируем ту самую строку кода, и живем с подсветкой по 10 заветных секунд дальше. По совести, - все вроде как клеится. Осталось дело за малым - правило для udev сварганить и скрипт рабочий сделать... :)
« Последнее редактирование: 12 Декабрь 2017, 01:36:58 от zg_nico »
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu MATE 64x 16.04.3 [EFI]. Windows 7 Ultimate x64 [EFI].

 

Страница сгенерирована за 0.133 секунд. Запросов: 23.