我刚刚升级了 Ubuntu(15.04 到 15.10),现在遇到了一个奇怪的现象:每当我锁定屏幕时(使用 Ctrl+Alt+L、Win+L 或单击任务栏菜单中的“锁定”),键盘背光就会亮起,即使我一直将其关闭。
我不知道从哪里开始调查这个问题。Ubuntu 15.04 中没有发生这种情况,而且似乎其他人也没有遇到过这种情况。
如果有帮助的话,我的笔记本电脑是戴尔 Inspiron。
更新:后来我才明白,这个问题每次打开屏幕时都会发生,而屏幕刚好在我锁屏后打开,漏洞。所以,这些都是相关事件,但实际原因是屏幕打开。
答案1
所以,网络真是一个神奇的东西!经过大量研究和深入研究许多论坛链接后,我设法更好地了解了这个问题,找出了导致这个问题的程序,并最终彻底禁用了这种行为。我想把我的步骤写下来,以防其他人遇到同样的问题。
步骤 1. 监控系统以了解键盘背光是否/何时打开
首先要知道,可以通过读取文件来检查键盘背光的当前状态/sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/brightness
。因此,我们希望收到有关此文件的任何更改的通知,理想情况下,还可以收到调用更改的过程的通知。
这可以使用通知通知。我用的是示例程序手册页中提供了这个文件,并添加了一些修改*,以便我可以监视亮度文件的变化。原来负责修改的进程是/usr/lib/upower/upowerd
,它是优力。
第 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
(在 Ubuntu 16.04 及更高版本上使用systemctl restart dbus.service
),然后锁定屏幕以测试结果……成功了!!嗯,有点成功了。登录屏幕不会显示,所以我无法重新登录,不得不强制重启。但是然后 一切都很顺利!
就这样!我仍然很好奇正确的这样做的方法。如果你知道,请留言!
* 例如,示例程序仅设置为监视FAN_OPEN_PERM
和FAN_CLOSE_WRITE
事件,但在此它是一个FAN_MODIFY
事件。