Подсветка клавиатуры включается после включения экрана блокировки / дисплея

9

Я только что обновил Ubuntu (с 15.04 до 15.10), и теперь у меня странное поведение: всякий раз, когда я блокирую экран (используя любой из Ctrl + Alt + L, Win + L или просто нажимаю «Блокировка» на панели задач меню), подсветка клавиатуры включается, хотя я всегда выключаю ее.

Я понятия не имею, с чего начать расследование. Это не произошло в Ubuntu 15.04, и, похоже, другие люди не сталкивались с этим.

Мой ноутбук Dell Inspiron, если это поможет.

Обновление: позже я понял, что эта проблема возникает всякий раз, когда включается дисплей, что происходит сразу после блокировки экрана из-за ошибки . Итак, это связанные события, но настоящая причина - включение экрана.

dsetton
источник
Кто делает клавиатуру?
Алекс Лоу
Хм, я не знаю. Ты знаешь, как я могу это проверить?
Дсеттон
Возможно, на обороте может быть номер модели или что-то в этом роде.
Алекс Лоу
На задней панели нет ничего специфичного для клавиатуры. Я установил hardinfoпакет, и клавиатура отображается как «AT Translated Set 2 клавиатура» производителем «1». Это помогает вообще? ...
Дсеттон
Есть ли драйвер или программное обеспечение для этой клавиатуры, о котором вы знаете?
Алекс Лоу

Ответы:

13

Итак, Интернет - действительно удивительная вещь! После долгих исследований и изучения многих ссылок на форумах мне удалось лучше понять проблему, выяснить, какая программа за это ответственна, и, наконец, отключить это поведение навсегда. Я думал, что запишу свои шаги, на случай, если другие люди столкнутся с той же проблемой.

Шаг 1. Мониторинг системы, чтобы узнать, включена ли подсветка клавиатуры

Прежде всего необходимо знать, что текущее состояние подсветки клавиатуры можно проверить, прочитав файл /sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/brightness. Итак, мы хотели бы получать уведомления о любых изменениях в этом файле и, в идеале, какой процесс вызвал это изменение.

Это можно сделать с помощью fanotify . Я использовал пример программы , представленной на странице руководства, и добавил несколько модификаций *, чтобы я мог отслеживать изменения в файле яркости. Оказывается, что процесс, ответственный за модификацию, был /usr/lib/upower/upowerd, который является процессом демона для UPower .

Шаг 2. Узнайте, почему UPower включает подсветку (не работает)

Это была самая нечеткая часть расследования, и я до сих пор не могу понять, почему это происходит. Я нашел человека с очень похожей проблемой, но без решения, поэтому я начал искать , смогу ли я просто полностью отключить UPower (и каковы будут последствия), когда я нашел эту ссылку . Оказывается, у UPower есть файл конфигурации! Так-то лучше.

Шаг 3. Остановите UPower от включения подсветки клавиатуры

Наконец, я редактировал вышеупомянутый конфигурационный файл, расположенный по адресу /etc/dbus-1/system.d/org.freedesktop.UPower.conf, и изменен <allow>на <deny>в следующей строке:

<allow send_destination="org.freedesktop.UPower"
       send_interface="org.freedesktop.UPower.KbdBacklight"/>

Затем я перезапустил dbus sudo service dbus restart(использовать systemctl restart dbus.serviceв Ubuntu 16.04 и более поздних версиях) и приступил к блокировке экрана, чтобы проверить результат и ... Это сработало !! Ну, Сорта. Экран входа в систему не отображался, поэтому я не смог войти в систему и был вынужден перезапустить компьютер. Но тогда все работало отлично!

И это все! Мне все еще интересно, что было бы правильным способом сделать это. Если вы знаете, оставьте комментарий, пожалуйста!

* Например, пример программы был настроен только на мониторинг FAN_OPEN_PERMи FAN_CLOSE_WRITEсобытия, но в этом случае это было FAN_MODIFYсобытие.

dsetton
источник
Я просто отредактировал файл, org.freedesktop.UPower.conf как вы указали, и это сработало. Я думаю, что изменение было применено немедленно.
Вик
1
Спасибо, человек :) это сработало. ты заслуживаешь пива! какой у вас номер A / C;) пока что
справьтесь
@TheVOYOU Рад, что это сработало для вас! :)
Дсеттон
Это исправление также работает для 16.04, за исключением того, что по какой-то причине я больше не могу перезапустить службу dbus. Мне пришлось перезагрузить свой ноутбук.
RoraΖ