Forum Linux.debian/ubuntu Luminosité : Passer de 2% à 10% par appui.

Posté par  . Licence CC By‑SA.
Étiquettes :
3
17
oct.
2021

Salut,

Je suis sous Debian Bullseye LXQT avec un Dell E7440 et les touches de luminosité fonctionnent, ainsi que les divers outils graphiques de réglage…mais en installant le paquet brightnessctl, je me suis rendu compte que le pas de réglage était de 2%…autrement dit, il faut appuyer plusieurs dizaines de fois sur les touches pour passer de la luminosité maximale à la luminosité minimale…:|

Je n'ai trouvé nulle part d'option pour régler ce saut, auriez-vous une idée ? Merci !

  • # ...

    Posté par  . Évalué à 2.

    Je n'utilise ni l'un ni l'autre, mais je remarque que brightnessctl (si c'est bien le repo du brightnessctl que tu utilises) qu'il y a bien la possibilité de lui demander de monter de plus que 2% : https://github.com/Hummer12007/brightnessctl

    Idée au pif, est-ce qu'un grep te retournerait quelque chose ?

    grep -r brightnessctl /etc/

    • [^] # Re: ...

      Posté par  . Évalué à 2.

      Alors, je n'ai aucun problème pour utiliser brightnessctl et monter ou descendre de 10%, mais pas par les touches de fonction. Je ne trouve pas le fichier de configuration qui me permettrait de modifier ces 2% de saut à, par exemple 10%.

      Par exemple, je me mets à la luminosité minimale :

      # brightnessctl 
      Device 'intel_backlight' of class 'backlight':
              Current brightness: 9 (1%)
              Max brightness: 937
      

      Et si je monte la luminosité une fois :

      # brightnessctl 
      Device 'intel_backlight' of class 'backlight':
              Current brightness: 28 (3%)
              Max brightness: 937
      
      • [^] # Re: ...

        Posté par  . Évalué à 2.

        L'idée était plus de trouver l'endroit où la liaison entre la touche et brightnessctl était faite pour modifier la valeur. Mais après relecture je comprends que ce n'est pas brightnessctl qui est utilisé quand tu appuies sur les touches de fonction..

  • # Chercher du côté de `/etc/acpi/events/` ?

    Posté par  (site web personnel) . Évalué à 3.

    La page suivante m'a bien aidé lorsque j'ai voulu contrôler la luminosité de l'écran de mon portable via les touches de fonctions :

    https://bbs.archlinux.org/viewtopic.php?id=134972 (en particulier le commentaire de cmorgenstern en #11)

    J'utilise une session Openbox installée par-dessus Ubuntu. En m'inspirant des conseils de cmorgenstern ci-dessus, j'ai réussi à ajouter deux fichiers dans /etc/acpi/events/ correspondants aux touches de fonction pour augmenter et diminuer la luminosité.

    Ces fichiers pointent chacun vers un script cible à exécuter lorsque la touche de fonction correspondante est pressée. Si tu arrives à régler la luminosité avec brightnessctl en ligne de commande avec le pas qui t'intéresse (+/- 10%), il est sans doute possible d'utiliser une commande similaire dans ces scripts cibles.

    Dans mon cas, mes scripts cibles écrivent directement dans le fichier système /sys/class/backlight/intel_backlight/brightness pour établir le niveau de luminosité (le fichier système à modifier dépend de ton ordinateur). A titre d'exemple, voici le script cible lancé lorsque je presse la touche de fonction pour diminuer la luminosité :

    #! /bin/bash
    
    # Fichier système dans lequel le niveau actuel de luminosité est écrit
    bl_device=/sys/class/backlight/intel_backlight/brightness
    # Fichier système contenant la valeur maximale autorisée dans le fichier précédent
    max_br=/sys/class/backlight/intel_backlight/max_brightness
    # Luminosité minimale (choix arbitraire pour éviter de se retrouver avec un écran noir)
    min_br=10
    
    # Facteur appliqué à la luminosité (ici une baisse de 15%)
    mult_factor=0.85
    
    # Lecture de la luminosité actuelle
    current_br=`cat $bl_device`
    # Lecture de la luminosité max
    max_br=`cat $max_br`
    # Calcul de la nouvelle luminosité à appliquer
    raw_new_br=`echo "$current_br * $mult_factor" | bc -l`
    # Arrondi de la valeur précédente
    rounded_new_br=`printf %.0f $raw_new_br`
    
    # Vérifier que la nouvelle valeur de luminosité est comprise entre min_br et max_br
    valid_new_br=$(( min_br > rounded_new_br ? min_br : rounded_new_br ))
    valid_new_br=$(( valid_new_br > max_br ? max_br : valid_new_br ))
    
    # Debugging si besoin
    #echo "Current brightness: $current_br"
    #echo "Min. brightness: $min_br"
    #echo "Max. brightness: $max_br"
    #echo "New brightness (raw): $raw_new_br"
    #echo "New brightness (rounded): $rounded_new_br"
    #echo "New brightness (valid): $valid_new_br"
    
    # Modification de la luminosité en écrivant la nouvelle valeur dans le fichier système
    echo $valid_new_br | sudo tee $bl_device

    J'espère que cela pourra t'être utile :)

    • [^] # Re: Chercher du côté de `/etc/acpi/events/` ?

      Posté par  . Évalué à 2.

      Salut,

      C'est effectivement une piste que j'utilise déjà sur un autre PC dont les touches de fonction ne sont pas reconnues ; j'ai d'ailleurs créé 6 raccourcis claviers gérables à une main (quand je suis au dodo) pour accéder directement à la luminosité qui m'intéresse.^

      En tout cas, court-circuiter le système actuel est vraiment possible, mais c'est vrai que je m'attendais à un réglage un peu plus simple (mais bon, tout reste assez flou dans le domaine de la luminosité !). Ça se trouve, c'est propre à LXQT et pas à Bullseye d'ailleurs…

      Bref, je vais y aller à ma sauce sur tes conseils, merci ! :)

  • # Après quelques recherches

    Posté par  . Évalué à 1.

    Bonjour,

    Il y a une pull request qui à été refusée

    Le dépôt d'où provient la pull request.
    https://github.com/Anarky/brightnessctl

    Donc en compilant depuis les sources, il est possible d'avoir l'option. Après je n'ai pas testé…

    Amiralgaby#1847

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.