Aktifkan lampu latar keyboard pada Lenovo yang didukung (mis. Carbon X1) dengan perintah

18

Beberapa laptop Lenovo memiliki lampu latar keyboard, dan dapat dihidupkan menggunakan Fn+ Space. Ada tiga kondisi: mati, normal dan cerah.

Ketika saya memulai Ubuntu, laptop ini selalu kembali ke kecerahan layar matahari yang menyala dan keyboard mati.

Saya ingin kecerahan menengah dan lampu keyboard menyala secara default, karena saya biasanya menggunakan laptop ini di lingkungan yang gelap.

Lampu latar mudah. Internet dipenuhi dengan informasi tentang ini.
echo 10 > /sys/class/backlight/acpi_video0/brightness

Tapi bagaimana cara menyalakan lampu latar keyboard dengan perintah? Saya sudah mencari di sini tetapi tampaknya tidak melakukan apa-apa:
/sys/class/leds/tpacpi\:\:thinklight


Pembaruan

Saya mencoba for i in {1..32}; do xset led $i; donetetapi tidak ada yang berubah. Mungkin backlight keyboard untuk laptop Lenovo memiliki driver berpemilik dan hanya dapat dikontrol melalui tpacpi?

Juga mencoba for i in $(find /sys/devices/platform/thinkpad_acpi/leds/ | grep /brightness\); do echo 255 > $i; donetidak berhasil.

Redsandro
sumber
Entah xset led (itu hampir 100% kemungkinan menjadi Caps Lock, dll, tetapi saya tetap akan menambahkannya) atau setleds. Sunting: Ditemukan ini
Wilf
Itu tidak bekerja. Saya mencoba for i in {1..32}; do xset led $i; donetetapi tidak ada yang berubah.
Redsandro

Jawaban:

8

Sepertinya ini telah diperbarui, X1C saya dengan ubuntuMATE 16.04 LTS miliki

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

yang berfungsi seperti yang diharapkan yaitu:

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

Membawa ke cahaya penuh :)

wuxmedia
sumber
Hei, ya memang! Terima kasih telah meluangkan waktu untuk membagikan ini ke pertanyaan lama. :)
Redsandro
1
Tidak masalah, itu adalah hit pertama ketika saya melihat, berpikir itu tidak bisa terlalu sulit, jadi saya pikir harus memperbarui yang ini dengan temuan saya :)
wuxmedia
14

Ini benar-benar perlu diperbaiki!

Saya pikir ini adalah bug umum di thinkpads baru. Jika Anda menyalakan keyboard secara manual fn + spacemaka dijalankan:

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

keyboard akan memudar. Silakan lihat tautan berikut jika itu membantu:

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

rashad
sumber
Hei kamu benar, aku tidak tahu. Karena kita dapat mematikannya, rasanya 'seperti sepotong kue untuk memperbaikinya untuk pengembang. Apakah ada laporan bug?
Redsandro
Email menyarankan solusi ini: gist.github.com/hadess/6847281 Ada ide bagaimana kita bisa menerapkannya?
rashad
4

Ini adalah skrip bash yang saya gunakan:

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

Bekerja pada IBM ThinkPad X260 dengan Ubuntu 16.04.

krokodil
sumber
IBM? Laptop itu harus berusia setidaknya 10 tahun! Tetapi ini juga bisa digunakan pada Karbon X1 saya! Agar adil, kode dari hadess seperti dijawab oleh rashad melakukan hal yang sama, tetapi saya tidak ingin mengambil 5 langkah dan menginstal kompiler. Saya mencari perintah bash sederhana. Dan ini adalah sesuatu yang bisa saya gunakan. Terima kasih telah menjawab pertanyaan saya yang berumur 3 tahun. Diterima
Redsandro
Senang Anda menemukannya bermanfaat. Tentu saja maksud saya Lenovo Thinkpad dan X260 saya adalah merek baru. Saya hanya memiliki masalah yang sama dan menemukan jawaban ini, tetapi saya tidak suka program C yang juga memerlukan modprobe manual, jadi saya menulis ulang sebagai skrip. Penulis program C yang asli melakukan semua pekerjaan berat.
krokodil
3

Ok, ini berfungsi baik dengan saya dengan inti ini:

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

  • Pertama-tama unduh intisari di atas, saya ThinkLight.cganti namanya menjadi bukan tmp.c.
  • Pastikan Anda telah menginstal glib-2.0:

    sudo apt-get install libglib2.0-dev
    
  • Kompilasi ThinkLight.csebagai berikut:

    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
    
  • Muat ec_sysmodul (ini dapat ditambahkan /etc/modulessaat boot):

    sudo modprobe ec_sys
    
  • Akhirnya jalankan ThinkLightdengan argumen level (0, 1, atau 2):

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

Terima kasih khusus kepada hadess untuk mewujudkan hal ini!

rashad
sumber
Adakah yang tahu bagaimana menjalankan ini tanpa sudo? Mencoba menjalankan ini di dalam skrip lain, dan itu berjalan sebagai pengguna saya.
zsquare
Saya mencoba ini dan mendapatkan beberapa kesalahan :( ThinkLight.c: Dalam fungsi 'utama': ThinkLight.c: 56: 6: peringatan: deklarasi implisit fungsi 'lseek' [-Wimplicit-function-declaration] if (lseek (fd, 0xd, SEEK_CUR) <0) {^ ~~~~ ThinkLight.c: 60: 6: peringatan: deklarasi implisit fungsi 'tulis' [-Klik-fungsi-deklarasi fungsi] if (tulis (fd, & level [level], 1 ) <0) {^ ~~~~
Heriberto Juarez
@HeribertoJuarez ini adalah jawaban lama, Anda dapat memanipulasinya langsung dengan kernel Linux yang baru. Periksa jawaban wuxmedia
rashad
1

T450s saya tidak akan mengaktifkan kembali lampu latar keyboard setelah melanjutkan dengan kernel yang lebih tua dari 4,6. FWIW, dengan 4.6 sekarang, lampu latar keyboard diatur ke kecerahan yang dimilikinya sebelum ditangguhkan.

bk138
sumber