我有一台 Thinkpad 470,上面运行的是 Ubuntu 16.04 LTS。我不喜欢在白天打开键盘背光,因为我想节省电池电量。我注意到,即使从屏幕完全变暗或系统因不活动而进入睡眠状态唤醒,背光也会自动打开。问题是,在白天或有强光的情况下,我无法看到背光是否打开,因此我不会将其关闭,这会耗尽电池电量。我希望能够控制此设置。我该怎么做?
在以下位置稍加搜索后:
/sys/class/leds/tpacpi::kbd_backlight
我找到了以下文件:
rgh@arrakis:/sys/class/leds/tpacpi::kbd_backlight$ ls
brightness brightness_hw_changed device max_brightness
power subsystem trigger uevent
其中,文件触发器里面包含以下项目:
[none] rfkill-any kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock
kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock
kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock AC-online
BAT0-charging-or-full BAT0-charging BAT0-full
BAT0-charging-blink-full-solid BAT1-charging-or-full
BAT1-charging BAT1-full BAT1-charging-blink-full-solid usb-gadget
usb-host disk-activity ide-disk mtd nand-disk cpu cpu0 cpu1 cpu2 cpu3
panic bluetooth-power rfkill0 rfkill1 phy0rx phy0tx phy0assoc phy0radio
hci0-power rfkill41
我猜想这里需要删除一些内容才能获得我想要的行为?你能告诉我我是否正确吗?如何完成?
答案1
由此reddit 帖子OP 遇到了相反的问题,从暂停状态恢复时灯总是熄灭。
您可以采用相同的方法,但将1
(on) 更改为0
(off)。
找到文件夹/etc/systemd/system/sleep.target.wants/
并创建kb_backlight_resume.service
以下内容:
[Unit]
Description=Switch on keyboard backlight after resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target
[Service]
ExecStart=/bin/echo 0 > "/sys/devices/platform/thinkpad_acpi/leds/tpacpi::kbd_backlight/brightness"
[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target
我没有 Thinkpad,而且我的戴尔背光键盘的目录结构也不同。我无法针对您的环境进行测试。如果上面的目录名称不正确,您可能需要手动调整代码。
测试暂停/恢复之前不要忘记重新启动。
如果您的戴尔电脑没有此功能,/etc/systemd/system/sleep.target.wants/
可以启用它。例如,请参见:
答案2
尝试:
sudo apt-get install pm-utils
在中创建脚本/usr/lib/pm-utils/sleep.d
sudo nano /usr/lib/pm-utils/sleep.d/KB_BACK_OFF.sh
复制并粘贴以下内容:
#!/bin/sh
case "$1" in
resume)
xset led off
;;
esac
exit 0
使脚本可执行:
sudo chmod a+x /usr/lib/pm-utils/sleep.d/KB_BACK_OFF.sh
如果脚本中的命令xset 导致关闭不起作用,尝试用命令替换它xset -led(您的号码)使用 1 至 32 之间的数字。例子: xset -led 3
我亲自尝试在 Kubuntu 18.04 上出于其他目的运行该脚本并且它在系统唤醒时有效。
你不需要重启系统