使用以下命令在受支持的联想(例如Carbon X1)上启用键盘背光


18

某些Lenovo笔记本电脑带有键盘背光灯,可以使用Fn+ 开启它们Space。共有三种状态:关闭,正常和明亮。

当我启动Ubuntu时,这些笔记本电脑始终默认恢复为灼热的遮阳帘亮度,并且键盘熄灭。

默认情况下,我希望亮度适中且键盘灯亮起,因为我通常在黑暗的环境中使用此笔记本电脑。

背光很容易。互联网上充满了有关此的信息。
echo 10 > /sys/class/backlight/acpi_video0/brightness

但是,如何使用命令打开键盘背光?我一直在这里看,但似乎什么也没做:
/sys/class/leds/tpacpi\:\:thinklight


更新

我尝试过,for i in {1..32}; do xset led $i; done但没有任何变化。联想笔记本电脑的键盘背光灯可能具有专有的驱动程序,并且只能通过以下方式进行控制tpacpi

也尝试for i in $(find /sys/devices/platform/thinkpad_acpi/leds/ | grep /brightness\); do echo 255 > $i; done无济于事。


无论是xset led (几乎是100%,可能是Caps Lock键,等等,但我会在反正它添加)setleds编辑:找到
Wilf

没用 我尝试过,for i in {1..32}; do xset led $i; done但没有任何变化。
Redsandro

Answers:


8

看起来好像已经更新了,我的带有ubuntuMATE 16.04 LTS的X1C已经

/sys/class/leds/tpacpi\:\:kbd_backlight/brightness

它按预期工作,即:

# echo 2 > /sys/class/leds/tpacpi\:\:kbd_backlight/brightness

充分发挥它的作用:)


嘿,是的!感谢您抽出宝贵时间将这个问题分享给一个老问题。:)
Redsandro '16

1
没有probs,这是我一直在寻找的第一击,认为它不能被认为很难,所以认为我应该更新这个跟我的发现:)
wuxmedia

14

确实需要修复此问题!

我认为这是新ThinkPad中的常见错误。如果您手动点亮键盘fn + space然后执行:

echo 0 > /sys/class/leds/tpacpi\:\:thinklight/brightness

键盘将消失。如果有帮助,请参见以下链接:

http://www.spinics.net/lists/ibm-acpi-devel/msg03090.html


嘿,您说得对,我不知道。由于我们可以将其关闭,因此“感觉”起来像是为开发人员解决此问题简直是小菜一碟。是否有错误报告?
Redsandro 2013年

电子邮件中提出了以下解决方法:gist.github.com/hadess/6847281任何想法我们如何实现?
rashad 2013年

4

这是我使用的bash脚本:

https://gist.github.com/vzaliva/0adba7bc40e2f31a0b5f802af2a63267

在具有Ubuntu 16.04的IBM ThinkPad X260上工作。


IBM?那台笔记本电脑必须至少有10年的历史!但是它也可以在我的Carbon X1上使用!为了公平起见,从代码hadess作为回答拉沙德做同样的,但我不希望采取5个步骤,并安装编译器。我在寻找一个简单的bash命令。这是我可以使用的东西。感谢您回答我3岁的问题。公认。
Redsandro '16

很高兴您发现它很有用。当然,我指的是Lenovo Thinkpad和X260是全新的。我只是遇到了同样的问题,并且找到了这个答案,但是我不喜欢C程序,该程序也需要手动modprobe,因此我将其重新编写为脚本。最初的C程序作者费尽心思。
krokodil '16

3

好的,这个要点对我来说很好用:

https://gist.github.com/hadess/6847281

  • 首先下载上面的要点,我将其重命名ThinkLight.ctmp.c
  • 确保已安装glib-2.0:

    sudo apt-get install libglib2.0-dev
    
  • 编译ThinkLight.c如下:

    gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include ThinkLight.c -o ThinkLight -lglib-2.0
    
  • 加载ec_sys模块(可以/etc/modules在启动时添加):

    sudo modprobe ec_sys
    
  • 最后执行ThinkLight级别参数(0、1或2):

     sudo ./ThinkLight 0
     sudo ./ThinkLight 1
     sudo ./ThinkLight 2
    

特别感谢hadess实现了这一目标!


任何想法如何不使用sudo来运行它吗?试图在另一个脚本中运行它,并且以我的用户身份运行。
zsquare 2015年

我尝试了此操作,并遇到了一些错误:( ThinkLight.c:在函数'main'中:ThinkLight.c:56:6:警告:函数'lseek'的隐式声明[-Wimplicit-function-declaration] if(lseek(fd, 0xd,SEEK_CUR)<0){^ ~~~~ ThinkLight.c:60:6:警告:函数'write'的隐式声明[-Wimplicit-function-declaration] if(write(fd,&levels [level],1 )<0){^ ~~~~
Heriberto Juarez

@HeribertoJuarez,这是一个古老的答案,您可以直接使用新的Linux内核进行操作。检查wuxmedia的答案
拉沙德-

1

我的T450不能在4.6之前的内核恢复时重新启用键盘背光。FWIW(现在为4.6)将键盘背光设置为挂起之前的亮度。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.