锁定屏幕/显示开启后键盘背光打开

我刚刚升级了Ubuntu(15.04到15.10),现在我遇到了一个奇怪的行为:每当我锁定屏幕时(使用任意Ctrl + Alt + L,Win + L或只是点击任务栏中的“锁定”)菜单),键盘背光打开,即使我总是关闭它。

我不知道从哪里开始调查这个。 它在Ubuntu 15.04中没有发生过,似乎没有其他人遇到过这种情况。

我的笔记本电脑是戴尔Inspiron,如果有帮助的话。

更新:我后来才明白,每当显示器打开时就会出现此问题,这是因为我因为错误而锁定屏幕后发生的。 所以,这些是相关事件,但实际原因是屏幕开启。

因此,网络真是一件令人惊奇的事情! 经过大量的研究和潜入许多论坛链接后,我设法更好地理解了这个问题,找出了什么程序对它负责,最后,为了好的方法禁用了这个行为。 我以为我会写下我的步骤,以防其他人遇到同样的问题。

步骤1.监视系统以了解键盘背光是否/何时打开

首先要知道可以通过读取文件/sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/brightness来检查键盘背光的当前状态。 因此,我们希望收到有关此文件的任何更改的通知,并且最好是通知哪个进程调用了此更改。

这可以使用fanotify来完成。 我使用了手册页中提供的示例程序并添加了一些修改*,以便我可以监视亮度文件的更改。 事实certificate,负责修改的进程是/usr/lib/upower/upowerd ,这是/usr/lib/upower/upowerd的守护进程。

步骤2.找出UPower打开背光的原因(失败)

这是调查中最模糊的部分,我仍然不知道为什么会发生这种情况。 我发现一个人有一个非常相似的问题但没有解决方案,所以当我找到这个链接时,我开始看看我是否可以完全禁用UPower(以及后果会是什么)。 原来UPower有一个配置文件! 那更好。

步骤3.停止UPower打开键盘背光

最后,我编辑了前面提到的配置文件,位于/etc/dbus-1/system.d/org.freedesktop.UPower.conf ,并在下一行/etc/dbus-1/system.d/org.freedesktop.UPower.conf 更改为

  

然后我用sudo service dbus restart重新启动了dbus(在Ubuntu 16.04及更高版本上使用systemctl restart dbus.service )并继续锁定我的屏幕以测试结果并且…它工作了! 好吧,sorta。 登录屏幕不会显示,因此我无法重新登录并不得不强行重启。 但是一切都很好!

就是这样! 我仍然很好奇这是怎么回事。 如果你知道,请发表评论!

*例如,示例程序仅设置为监视FAN_OPEN_PERMFAN_CLOSE_WRITE事件,但在此它是一个FAN_MODIFY事件。