Abilitare la retroilluminazione della tastiera sul Lenovo supportato (ad es. Carbon X1) con comando


18

Alcuni laptop Lenovo dispongono di retroilluminazione della tastiera e possono essere accesi utilizzando Fn+ Space. Esistono tre stati: spento, normale e luminoso.

Quando avvio Ubuntu, questi laptop tornano sempre alla luminosità dello schermo solare e la tastiera si spegne.

Voglio una luminosità media e le luci della tastiera accese di default, perché di solito uso questo laptop in ambienti bui.

La retroilluminazione è semplice. Internet è pieno di informazioni al riguardo.
echo 10 > /sys/class/backlight/acpi_video0/brightness

Ma come accendo la retroilluminazione della tastiera con un comando? Ho cercato qui, ma sembra non fare nulla:
/sys/class/leds/tpacpi\:\:thinklight


aggiornamenti

Ho provato for i in {1..32}; do xset led $i; donema non cambia nulla. Forse la retroilluminazione della tastiera per laptop Lenovo ha un driver proprietario e può essere controllata solo attraverso tpacpi?

Anche provato for i in $(find /sys/devices/platform/thinkpad_acpi/leds/ | grep /brightness\); do echo 255 > $i; donesenza alcun risultato.


O xset led (è quasi il 100% probabile che sia Blocco maiuscole, ecc., Ma lo aggiungerò comunque) o setleds. Modifica: Trovato questo
Wilf

Non funziona Ho provato for i in {1..32}; do xset led $i; donema non cambia nulla.
Redsandro,

Risposte:


8

Sembra che questo sia stato aggiornato, il mio X1C con ubuntuMATE 16.04 LTS ha

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

che funziona come previsto, ovvero:

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

Lo porta alla luce piena :)


Ehi, sì davvero! Grazie per aver dedicato del tempo a condividere questo con una vecchia domanda. :)
Redsandro,

1
Nessun problema, è stato il primo successo quando stavo guardando, ho pensato che non potesse essere così difficile, quindi ho pensato di aggiornare questo con le mie scoperte :)
wuxmedia,

14

Questo è davvero necessario per essere risolto!

Penso che questo sia un bug comune nei nuovi thinkpad. Se accendi la tastiera manualmente, fn + spaceallora esegui:

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

la tastiera si sbiadirà. Si prega di consultare il seguente link se aiuta:

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


Ehi hai ragione, non lo sapevo. Dato che possiamo disattivarlo, sembra che sarebbe un gioco da ragazzi risolvere questo problema per gli sviluppatori. C'è ancora un bugreport?
Redsandro,

L'e-mail ha suggerito questa soluzione alternativa: gist.github.com/hadess/6847281 Qualche idea su come possiamo implementarla?
rashad,

4

Questo è lo script bash che uso:

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

Funziona su IBM ThinkPad X260 con Ubuntu 16.04.


IBM? Quel laptop deve avere almeno 10 anni! Ma funziona anche sul mio Carbon X1! Ad essere sinceri, il codice di hadess come risposto da rashad ha fatto lo stesso, ma non voglio fare 5 passaggi e installare i compilatori. Stavo cercando un semplice comando bash. E questo è qualcosa che posso usare. Grazie per aver risposto alla mia domanda di 3 anni. Accettato.
Redsandro,

Mi fa piacere che l'abbia trovato utile. Naturalmente intendevo Lenovo Thinkpad e il mio X260 è nuovo di zecca. Ho appena avuto lo stesso problema e ho trovato questa risposta, ma non mi piaceva il programma C che richiede anche il modprobe manuale, quindi l'ho riscritto come script. Gli autori del programma C originale hanno fatto tutto il lavoro pesante.
krokodil,

3

Ok, funziona bene con me con questo riassunto:

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

  • Prima di tutto scarica l'essenziale sopra, l'ho rinominato ThinkLight.cinvece di tmp.c.
  • Assicurati di aver installato glib-2.0:

    sudo apt-get install libglib2.0-dev
    
  • Compilare ThinkLight.ccome segue:

    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
    
  • Carica ec_sysmodulo (questo può essere aggiunto /etc/modulesall'avvio):

    sudo modprobe ec_sys
    
  • Eseguire infine ThinkLightcon l'argomento level (0, 1 o 2):

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

Un ringraziamento speciale a hadess per averlo realizzato!


Qualche idea su come eseguirlo senza sudo? Sto provando a eseguirlo all'interno di un altro script e quello viene eseguito come mio utente.
zsquare,

Ho provato questo e ho ricevuto alcuni errori :( ThinkLight.c: nella funzione 'principale': ThinkLight.c: 56: 6: avviso: dichiarazione implicita della funzione 'lseek' [-Wimplicit-function-dichiarazione] if (lseek (fd, 0xd, SEEK_CUR) <0) {^ ~~~~ ThinkLight.c: 60: 6: avvertenza: dichiarazione implicita della funzione 'write' [-Wimplicit-function-dichiarazione] if (write (fd, e levels [level], 1 ) <0) {^ ~~~~
Heriberto Juarez,

@HeribertoJuarez questa è una vecchia risposta, puoi manipolarla direttamente con i nuovi kernel Linux. Controlla la risposta di
wuxmedia

1

I miei T450 non riattivano la retroilluminazione della tastiera al riavvio con kernel più vecchi di 4.6. FWIW, con 4.6 ora, la retroilluminazione della tastiera è impostata sulla luminosità che aveva prima di sospendere.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.