Kích hoạt đèn nền bàn phím trên Lenovo được hỗ trợ (ví dụ Carbon X1) bằng lệnh


18

Một số máy tính xách tay Lenovo có đèn nền bàn phím và chúng có thể được bật bằng Fn+ Space. Có ba trạng thái: tắt, bình thường và sáng.

Khi tôi khởi động Ubuntu, các máy tính xách tay này luôn mặc định trở lại độ sáng màn hình mặt trời đang cháy và bàn phím tắt.

Tôi muốn có độ sáng trung bình và đèn bàn phím bật theo mặc định, vì tôi thường sử dụng máy tính xách tay này trong môi trường tối.

Đèn nền dễ dàng. Internet chứa đầy thông tin về điều này.
echo 10 > /sys/class/backlight/acpi_video0/brightness

Nhưng làm thế nào để tôi bật đèn nền bàn phím bằng một lệnh? Tôi đã nhìn ở đây nhưng dường như không làm gì cả:
/sys/class/leds/tpacpi\:\:thinklight


Cập nhật

Tôi đã thử for i in {1..32}; do xset led $i; donenhưng không có gì thay đổi. Có lẽ đèn nền bàn phím cho máy tính xách tay Lenovo có trình điều khiển độc quyền và chỉ có thể được điều khiển thông qua tpacpi?

Cũng đã cố gắng for i in $(find /sys/devices/platform/thinkpad_acpi/leds/ | grep /brightness\); do echo 255 > $i; donevô ích.


Hoặc xset led (có nghĩa là gần như 100% khả năng là Caps Lock, vv, nhưng tôi sẽ thêm nó vào anyway) hoặc setleds. Chỉnh sửa: Tìm thấy cái này
Wilf

Nó không hoạt động. Tôi đã thử for i in {1..32}; do xset led $i; donenhưng không có gì thay đổi.
Redsandro

Câu trả lời:


8

Có vẻ như điều này đã được cập nhật, X1C của tôi với ubfoxMATE 16.04 LTS có

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

hoạt động như mong đợi tức là:

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

Đưa nó ra ánh sáng đầy đủ :)


Này, đúng vậy! Cảm ơn đã dành thời gian để chia sẻ điều này cho một câu hỏi cũ. :)
Redsandro

1
Không probs, đó là hit đầu tiên khi tôi đang tìm kiếm, nghĩ rằng nó không thể khó khăn, vì vậy tôi nghĩ nên cập nhật này với những phát hiện của tôi :)
wuxmedia

14

Điều này thực sự cần thiết để được sửa chữa!

Tôi nghĩ rằng đây là một lỗi phổ biến trong thinkpad mới. Nếu bạn bật bàn phím bằng tay fn + spacethì thực hiện:

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

bàn phím sẽ mờ dần. Vui lòng xem liên kết sau nếu nó giúp:

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


Này, bạn nói đúng, tôi không biết. Vì chúng ta có thể tắt nó đi, 'cảm giác' giống như nó sẽ là một miếng bánh để sửa lỗi này cho các nhà phát triển. Có bugreport chưa?
Redsandro

Email đề xuất cách giải quyết này: gist.github.com/hadess/6847281 Bất kỳ ý tưởng nào chúng ta có thể thực hiện nó?
rashad

4

Đây là tập lệnh bash tôi sử dụng:

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

Hoạt động trên IBM ThinkPad X260 với Ubuntu 16.04.


IBM? Máy tính xách tay đó phải được ít nhất 10 năm tuổi! Nhưng nó cũng hoạt động trên Carbon X1 của tôi! Công bằng mà nói, mã từ hadess như được trả lời bởi rashad cũng làm như vậy, nhưng tôi không muốn thực hiện 5 bước và cài đặt trình biên dịch. Tôi đã tìm kiếm một lệnh bash đơn giản. Và đây là thứ tôi có thể sử dụng. Cảm ơn bạn đã trả lời câu hỏi 3 tuổi của tôi. Đã được chấp nhận.
Redsandro

Thật vui khi bạn thấy nó hữu ích. Tất nhiên tôi có nghĩa là Lenovo Thinkpad và X260 của tôi là hoàn toàn mới. Tôi chỉ gặp vấn đề tương tự và tìm thấy câu trả lời này, nhưng tôi không thích chương trình C cũng yêu cầu modprobe thủ công, vì vậy tôi đã viết lại nó dưới dạng một kịch bản. Các tác giả chương trình C ban đầu đã làm tất cả các công việc nặng.
krokodil

3

Ok, nó hoạt động tốt với tôi với ý chính này:

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

  • Trước hết tải xuống ý chính ở trên, tôi đổi tên nó thành ThinkLight.cthay vì tmp.c.
  • Đảm bảo bạn đã cài đặt glib-2.0:

    sudo apt-get install libglib2.0-dev
    
  • Biên dịch ThinkLight.cnhư sau:

    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
    
  • Tải ec_sysmô-đun (điều này có thể được thêm vào khi /etc/moduleskhởi động):

    sudo modprobe ec_sys
    
  • Cuối cùng thực hiện ThinkLightvới đối số mức (0, 1 hoặc 2):

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

Cảm ơn đặc biệt đến hadess đã làm điều này xảy ra!


Bất kỳ ý tưởng làm thế nào để chạy này mà không sudo? Cố gắng chạy cái này trong một tập lệnh khác và nó chạy như người dùng của tôi.
zsapes

Tôi đã thử điều này và gặp một số lỗi :( ThinkLight.c: Trong hàm 'main': ThinkLight.c: 56: 6: cảnh báo: khai báo ngầm định của hàm 'lseek' [-Wimplicit-function-khai báo] if (lseek (fd, 0xd, XEMK_CUR) <0) {^ ~~~ ~ ThinkLight.c: 60: 6: cảnh báo: khai báo ngầm định của hàm 'write' [-Wimplicit-function-khai báo] if (write (fd, & level [level], 1 ) <0) {^ ~~~ ~
Heriberto Juarez

@HeribertoJuarez đây là một câu trả lời cũ, bạn có thể thao tác trực tiếp với các nhân Linux mới. Kiểm tra câu trả lời của wuxmedia
rashad

1

T450 của tôi sẽ không bật lại đèn nền bàn phím khi tiếp tục với các nhân cũ hơn 4.6. FWIW, với 4.6 bây giờ, đèn nền bàn phím được đặt thành độ sáng trước khi tạm dừng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.