Activez le rétroéclairage du clavier sur Lenovo pris en charge (par exemple Carbon X1) avec la commande

18

Certains ordinateurs portables Lenovo ont un rétro-éclairage du clavier et ils peuvent être activés à l'aide de Fn+ Space. Il existe trois états: désactivé, normal et lumineux.

Lorsque je démarre Ubuntu, ces ordinateurs portables reviennent toujours par défaut à une luminosité d'écran solaire brûlante et le clavier s'éteint.

Je veux une luminosité moyenne et les lumières du clavier allumées par défaut, car j'utilise généralement cet ordinateur portable dans des environnements sombres.

Le rétro-éclairage est facile. Internet regorge d'informations à ce sujet.
echo 10 > /sys/class/backlight/acpi_video0/brightness

Mais comment activer le rétro-éclairage du clavier avec une commande? J'ai regardé ici mais ça ne semble rien faire:
/sys/class/leds/tpacpi\:\:thinklight


Mises à jour

J'ai essayé for i in {1..32}; do xset led $i; donemais rien ne change. Peut-être que le rétro-éclairage du clavier pour les ordinateurs portables Lenovo possède un pilote propriétaire et ne peut être contrôlé que par le biais tpacpi?

Également essayé en for i in $(find /sys/devices/platform/thinkpad_acpi/leds/ | grep /brightness\); do echo 255 > $i; donevain.

Redsandro
la source
Soit xset led (c'est presque 100% susceptible d'être Caps Lock, etc., mais je vais l'ajouter quand même) soit setleds. Edit: Trouvé ceci
Wilf
Ça ne marche pas. J'ai essayé for i in {1..32}; do xset led $i; donemais rien ne change.
Redsandro

Réponses:

8

On dirait que cela a été mis à jour, mon X1C avec ubuntuMATE 16.04 LTS a

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

qui fonctionne comme prévu, à savoir:

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

Le met en pleine lumière :)

wuxmedia
la source
Hé, oui en effet! Merci d'avoir pris le temps de partager ceci avec une vieille question. :)
Redsandro
1
Pas de problème, c'était le premier hit quand je regardais, je pensais que ça ne pouvait pas être si difficile, alors j'ai pensé que je devrais mettre à jour celui-ci avec mes résultats :)
wuxmedia
14

Cela doit vraiment être corrigé!

Je pense que c'est un bug commun dans les nouveaux thinkpads. Si vous allumez le clavier manuellement fn + spacepuis exécutez:

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

le clavier disparaîtra. Veuillez consulter le lien suivant si cela peut vous aider:

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

rashad
la source
Hé tu as raison, je ne savais pas. Puisque nous pouvons le désactiver, il «semble» que ce serait un jeu d'enfant de résoudre ce problème pour les développeurs. Y a-t-il encore un rapport de bug?
Redsandro
L'e-mail a suggéré cette solution de contournement: gist.github.com/hadess/6847281 Une idée comment pouvons-nous l'implémenter?
rashad
4

Voici le script bash que j'utilise:

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

Fonctionne sur IBM ThinkPad X260 avec Ubuntu 16.04.

krokodil
la source
IBM? Cet ordinateur portable doit avoir au moins 10 ans! Mais ça marche aussi sur mon Carbon X1! Pour être honnête, le code de hadess comme répondu par rashad a fait la même chose, mais je ne veux pas prendre 5 étapes et installer des compilateurs. Je cherchais une simple commande bash. Et c'est quelque chose que je peux utiliser. Merci d'avoir répondu à ma question de 3 ans. Accepté.
Redsandro
Content que vous ayez trouvé ça utile. Bien sûr, je voulais dire Lenovo Thinkpad et mon X260 est tout neuf. Je viens d'avoir le même problème et j'ai trouvé cette réponse, mais je n'aimais pas le programme C qui nécessite également un modprobe manuel, donc je l'ai réécrit sous forme de script. Les auteurs originaux du programme C ont fait tout ce qui était lourd.
krokodil
3

Ok, ça marche bien avec moi avec cet essentiel:

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

  • Tout d'abord, téléchargez l'essentiel ci-dessus, je l'ai renommé au ThinkLight.clieu de tmp.c.
  • Assurez-vous que glib-2.0 est installé:

    sudo apt-get install libglib2.0-dev
    
  • Compilez ThinkLight.ccomme suit:

    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_sysModule de chargement (il peut être ajouté au /etc/modulesdémarrage):

    sudo modprobe ec_sys
    
  • Enfin, exécutez ThinkLightavec l'argument level (0, 1 ou 2):

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

Un merci spécial à hadess pour avoir rendu cela possible!

rashad
la source
Une idée de comment faire ça sans sudo? Essayer d'exécuter ceci dans un autre script, et cela s'exécute en tant qu'utilisateur.
zsquare
J'ai essayé cela et j'ai eu quelques erreurs :( ThinkLight.c: Dans la fonction 'main': ThinkLight.c: 56: 6: avertissement: déclaration implicite de la fonction 'lseek' [-Wimplicit-function-declaration] if (lseek (fd, 0xd, SEEK_CUR) <0) {^ ~~~~ ThinkLight.c: 60: 6: avertissement: déclaration implicite de la fonction 'write' [-Wimplicit-function-declaration] if (write (fd, & levels [level], 1 ) <0) {^ ~~~~
Heriberto Juarez
@HeribertoJuarez c'est une vieille réponse, vous pouvez manipuler cela directement avec les nouveaux noyaux Linux. Vérifiez la réponse de
Wuxmedia
1

Mon T450 ne réactiverait pas le rétroéclairage du clavier lors de la reprise avec des noyaux antérieurs à 4.6. FWIW, avec 4.6 maintenant, le rétro-éclairage du clavier est réglé sur la luminosité qu'il avait avant la suspension.

bk138
la source